【问题标题】:converting blob to File object in nodejs在nodejs中将blob转换为文件对象
【发布时间】:2022-01-12 22:02:45
【问题描述】:

我正在尝试将 Blob 转换为 nodejs 中的 File 对象。 Blob 从我的前端传递到我的后端。然后我想在我的后端转换它。

这是我当前的代码:

前端

var data = {
  "file": file, //this is blob
  "file_name": bucket_string
};

return await axios.post(`/files/upload-file`, data);

后端

const file = new File(data['file'], "tests/" + customer + "/" + sound + ".wav");

目前这会引发错误:

ReferenceError: File is not defined

如何正确转换nodejs中的数据?

【问题讨论】:

  • 查看这篇文章的答案:stackoverflow.com/a/31663645
  • 我在@ErikMichelson 上面尝试过,得到了这个:ReferenceError: File is not defined
  • 没关系,您使用的是 node.js 而不是浏览器。 Node.js 没有实现 File 类。但是,为了处理文件,您在节点中集成了 fs 模块。
  • @ErikMichelson 那么我如何使用 fs 将 blob 转换为 .wav 文件对象
  • 你想用 File 对象完成什么?如果您只是对将 wav 文件存储到磁盘感兴趣,请查看fs.writeFile

标签: javascript node.js file blob backend


【解决方案1】:

我没有足够的声誉来发表评论,很抱歉这是一篇完整的帖子。 File 是 TypeScript 中的一个接口,但在 node.js(无 TypeScript)中并不存在。我在您的代码中没有看到任何引用 TypeScript 的内容,所以可能是因为您没有使用 typescript。有关File 接口的信息,请参考文档here。在不知道您是否使用 typescript 的情况下,我不确定对 File 界面还有什么要说的。

【讨论】:

  • 我猜@Juliette 不是在寻找 TypeScript File 类,而是在寻找 web implementation of File。但是,这仅适用于浏览器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-17
  • 2015-03-29
  • 2020-03-20
  • 2020-04-15
  • 1970-01-01
  • 2015-02-17
  • 1970-01-01
相关资源
最近更新 更多