对于我当前的项目,我将zip文件通过base64编码的字符串发送到API服务器。我希望将该字符串转换为Buffer(或某种其他对象),并将ZIP文件分解为与ZIP文件中的文件结构相同的对象,以便可以使用文件对象将其推送到云中。我已经读过有关ADM-ZIP和其他类似工具的信息,但是除非我只是误解了文档,否则所有这些工具似乎都需要磁盘上的文件。我希望避免将文件保存在磁盘上,因为此API在具有可变存储空间的云中运行。
谢谢您的所有帮助!
答案 0 :(得分:0)
在不保存文件的情况下处理数据的最佳方法是在node.js中使用Streams
API。
寻找库
b64
-base64的流解码
unzip-stream
-解压缩流中的文件
所以你的流程会
接受请求,从其数据(base64)创建ReadStream
,pipe
到b64
,pipe
到unzip-stream
,依此类推。