【问题标题】:Node.js - How to Convert Buffer to file or blobNode.js - 如何将缓冲区转换为文件或 blob
【发布时间】:2019-10-06 03:18:04
【问题描述】:

问题是。我想将文件或图像从我的 Node.js express 项目上传到 Firebase 存储。我正在使用 multer 来解析图像文件。但是我遇到了一个问题

我尝试打印目标文件,然后这是输出:

{ fieldname: 'field_name',
  originalname: '1.jpeg',
  encoding: '7bit',
  mimetype: 'image/jpeg',
  buffer: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 43 00 08 06 06 07 06 05 08 07 07 07 09 09 08 0a 0c 15 0e 0c 0b 0b 0c 19 12 13 0f ... >,
  size: 75469 }

好的,这就是文件对象。我认为我唯一可以处理的是缓冲区。但是,firebase 存储说它只接受“文件”或“blob”。然后我试图找出如何将该缓冲区转换为文件或 blob。直到现在,我都找不到办法。请帮帮我。

【问题讨论】:

  • 将图像转换为 base64 编码字符串并存储
  • 好的,我试试

标签: node.js firebase express firebase-storage multer


【解决方案1】:

默认情况下 - multer 将上传的文件保存到您的服务器文件系统。

因此您可以从那里读取文件并通过 google SDK 上传它,例如 example

不要将 Firebase 的客户端库用于您的服务器端代码。

【讨论】:

  • 嗯。但要使用谷歌云存储。即使是免费的,我也需要输入信用卡。我还没有。但我真的需要这项服务。为什么我不能使用 firebase 存储?
  • 请参阅此处的注释:firebase.google.com/docs/storage/web/upload-files。它是相同的存储,但 firebase sdk 的主要用途是从浏览器上传。
猜你喜欢
  • 2015-08-13
  • 2018-03-26
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 2022-11-04
相关资源
最近更新 更多