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

时间:2019-03-12 09:20:33

标签: javascript node.js

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

谢谢您的所有帮助!

1 个答案:

答案 0 :(得分:0)

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

所以你的流程会 接受请求,从其数据(base64)创建ReadStreampipeb64pipeunzip-stream,依此类推。