【问题标题】:Unzip a file from Buffer without saving file anywhere on disk in NodeJS从 Buffer 中解压缩文件,而不在 NodeJS 中的磁盘上的任何位置保存文件
【发布时间】:2019-03-12 18:44:46
【问题描述】:

对于我当前的项目,我通过 base64 编码字符串将 zip 文件发送到 API 服务器。我希望将该字符串转换为缓冲区(或某种其他对象)并将 ZIP 文件分解为与 ZIP 中的文件结构相同的对象,以便我可以使用文件对象将它们推送到云中。我已经阅读了有关 ADM-ZIP 和其他类似工具的信息,但它们似乎都需要磁盘上的文件,除非我只是误解了文档。我希望避免将文件保存在磁盘上,因为此 API 在具有可变存储空间的云中运行。

提前感谢您的所有帮助!

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    在您的情况下,在不保存文件的情况下处理数据的最佳方法是 node.js 中的Streams API。 寻找库 b64 - base64 的流解码 unzip-stream- 在流中解压文件

    所以你的流程是 接受一个请求,从它的数据(base64)创建ReadStreampipe它到b64pipe它到unzip-stream等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 2022-01-18
      相关资源
      最近更新 更多