繁体   English   中英

从Buffer解压缩文件而无需在NodeJS中将文件保存在磁盘上的任何位置

[英]Unzip a file from Buffer without saving file anywhere on disk in NodeJS

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

谢谢您提前提供的所有帮助!

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

因此,您的流程将是接受请求,从其数据(base64)创建ReadStream ,将其通过pipe传输到b64 ,通过pipe unzip-streamunzip-stream ,依此类推。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM