首页 > 解决方案 > 从 NodeJS 返回一个文件数组

问题描述

我一直在使用 res.sendFile 来使用 NodeJS 提供文件,例如

res.sendFile(path.resolve(fullpath))

但我想返回一个相同的数组。就像是

res.sendFile([path.resolve(fullpath),path.resolve(fullpath)])

但这会返回错误。

如何返回一组文件?

标签: node.js

解决方案


如果您的目标客户端是网络浏览器,那么您不能下载多个文件,因为 http 协议不允许这样做。您可以做的是压缩文件并将它们发送回客户端。

例如。您可以使用express-zip

以下示例来自文档:

var app = require('express')();
var zip = require('express-zip');

app.get('/', function(req, res) {
  res.zip([
    { path: '/path/to/file1.name', name: '/path/in/zip/file1.name' }
    { path: '/path/to/file2.name', name: 'file2.name' }
  ]);
});

app.listen(3000);

推荐阅读