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

10
我正在尝试在JavaScript中将字符串转换为文件对象,但是我遇到了错误。
我的代码:
 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对象未定义...可能需要从模块中引用某些内容? - Jite
1
在Node中没有File对象(假设您正在使用fs)。您想对该文件进行什么操作? - xdumaine
也许可以使用JS和HTML5创建文本文件。 - epascarello
在我的代码中,我有这一行: code reader.readAsArrayBuffer(changeEvent.target.files[0]); code 然后我将其发送到一个获取'ArrayBuffer'的函数中。 正如我在这里看到的,这个函数将'File'转换为'ArrayBuffer'。 因此,我想将我的'String'转换为'File',然后使用上述函数。 - Tom Cohen
哪个浏览器?版本? - Vinay
显示剩余2条评论
1个回答

16

首先,您需要从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"});

1
我认为你可以直接使用“内容”代替“blob”,并直接访问文件。 - nda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接