如何在javascript中将字符串转换为文件对象?

Posted

技术标签:

【中文标题】如何在javascript中将字符串转换为文件对象?【英文标题】:How to convert string to File object in javascript ? 【发布时间】:2017-04-13 16:09:31 【问题描述】:

我正在尝试在 javascript 中将字符串转换为 File 对象,但出现错误。

我的代码:

 var contents = fs.readFileSync('./dmv_file_reader.txt').toString()

 var  readerfile1 = new File([""], contents);

(我必须将内容用作文件而不是字符串)

我的输出是:

ReferenceError: File is not defined
    at d:\Workspace\DMV\dist\win-ia32-unpacked\resources\app.asar\main.js:67:32
    at process._tickCallback (internal/process/next_tick.js:103:7)

有什么解决办法吗?

【问题讨论】:

似乎没有定义File 对象...可能需要模块中的某些内容? 节点中没有File 对象(假设这是节点,因为您使用的是fs)。你想对文件做什么? 看看:***.com/questions/8390855/…;您是否尝试过使用 blob? 也许:***.com/questions/10654971/… 在我的代码中,我有这一行:code reader.readAsArrayBuffer(changeEvent.target.files[0]); code,然后我将它发送到一个获取“ArrayBuffer”的函数。正如我在这里看到的,此函数将“文件”转换为“ArrayBuffer”。因此我想将我的“字符串”转换为“文件”,然后使用上面的这个函数。 【参考方案1】:

首先您必须从 Javascript 对象创建 blob,并且该 blob 对象可以传递给 File() 构造函数以创建文件对象。希望这会有所帮助。

 var contents = fs.readFileSync('./dmv_file_reader.txt').toString()
 var blob = new Blob([contents],  type: 'text/plain' );
 var file = new File([blob], "foo.txt", type: "text/plain");

【讨论】:

以上是关于如何在javascript中将字符串转换为文件对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Javascript中将字符串转换为对象? [复制]

如何在 JavaScript 中将字符串转换为 JSON?

在javascript中将字符串转换为对象数组的最佳方法?

当字符串在双引号内有单引号时,如何在Javascript中将此字符串转换为JSON对象

在Javascript中将JSON字符串转换为JSON对象数组

如何在javascript中将PDF文件转换为base64字符串