node.js - 从 NodeJS 服务器下载多个文件

标签 node.js

我正在尝试支持将多个文件从我的 Node js 服务器下载到客户端。通过在我的 NodeJS 服务器中实现以下逻辑,我可以支持将单个文件发送到客户端。

res.download('group_documents/sample1.pdf','sample1.pdf', function(err){
  if (err) {
    console.log(err);
  } else {
    // decrement a download credit etc
  }
});

我如何重写上述服务器逻辑以支持使用来自客户端(浏览器或 curl 请求)的单个请求下载多个文件?

最佳答案

在网络浏览器上,您不能一次下载多个文件。 但是您可以下载所有必需文件的存档文件。 使用 express-zip npm 包你可以很容易地做到这一点。

https://github.com/thrackle/express-zip

安装 express-zip。

npm install express-zip

使用以下代码:

res.zip(files);

files 是一个对象数组。 每个对象应该是:

{ path : 'path/to/file', name : 'fileName'}

关于node.js - 从 NodeJS 服务器下载多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16215102/

相关文章:

javascript - 卸载node版本出错

node.js - 基于 Spanner 数据库中的插入/更新创建触发器

javascript - 读取 txt 文件的行并组织在 JSON 文件中

javascript - 有没有办法使用 Sequelize 一次将多个嵌入模型保存在数据库中

node.js - Ansible 无法运行全局 npm 包

linux - 如何将 'write' 环境变量作为脚本的输入?

node.js - meteor OAuth2 服务器

node.js - Bluebird:获取each()的结果

node.js - ember/npm 插件,带有依赖项/devDependencies

javascript - 如何使用 Sails.js 和 Waterline 更新 MongoDB 子文档中的特定键?