繁体   English   中英

如何在Node.js中将文件下载到Buffer中?

[英]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.

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