如何在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中将此字符串转换为JSON对象