我正在尝试支持将多个文件从我的 Node js 服务器下载到客户端。通过在我的 NodeJS 服务器中实现以下逻辑,我可以支持向客户端发送单个文件。
res.download('group_documents/sample1.pdf','sample1.pdf', function(err){
if (err) {
console.log(err);
} else {
// decrement a download credit etc
}
});
Run Code Online (Sandbox Code Playgroud)
如何重写上述服务器逻辑以支持使用来自客户端的单个请求(浏览器或 curl 请求)下载多个文件?
小智 5
在网络浏览器上,您不能一次下载多个文件。但是您可以下载所有必需文件的存档文件。使用express-zip npm 包,您可以轻松完成。
https://github.com/thrackle/express-zip
安装 express-zip。
npm install express-zip
Run Code Online (Sandbox Code Playgroud)
使用以下代码:
res.zip(files);
Run Code Online (Sandbox Code Playgroud)
文件是一个对象数组。每个对象应该是:
{ path : 'path/to/file', name : 'fileName'}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10993 次 |
| 最近记录: |