[英]How to download a file into a Buffer in Node.js?
我正在构建一个Node程序包,该程序包需要下载给定URL的一些文件。 但是,我不想直接将它们保存到文件系统中。 相反,我需要先对其进行预处理,然后再保存到磁盘中。 因此,我想将文件内容保存在缓冲区中。 如何用pipe()完成此操作?
当然,我可以保存一个临时文件,然后打开该文件,对其进行处理并保存结果,但这会给磁盘带来不必要的读取/写入。
这些文件通常较小,并且是.txt或.zip文件,因此将它们保存在内存中不会带来任何危害。
目标之一是仅在下载的文件是.zip时查找并提取伪装的文件。 使用Adm-Zip我可以做到这一点,但必须传递一个Buffer。
事先解冻。
您可以使用节点获取库。 存储库自述文件中的代码示例:
// if you prefer to cache binary data in full, use buffer()
// note that buffer() is a node-fetch only API
fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png')
.then(res => res.buffer())
.then(buffer => { /* do whatever you want with buffer */ })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.