node.js - 从 NodeJS 返回一个文件数组
问题描述
我一直在使用 res.sendFile 来使用 NodeJS 提供文件,例如
res.sendFile(path.resolve(fullpath))
但我想返回一个相同的数组。就像是
res.sendFile([path.resolve(fullpath),path.resolve(fullpath)])
但这会返回错误。
如何返回一组文件?
解决方案
如果您的目标客户端是网络浏览器,那么您不能下载多个文件,因为 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);
推荐阅读
- c++ - Why fstream is not inherited from ifstream and ofstream in c++?
- inheritance - 如何继承 odoo v8 上的 _constraints?
- regex - 在开始和结束模式之间保留字符串
- azure-iot-sdk - 注册组下的自动配置设备不起作用(java SDK)
- qt - Qml - qml 中的 C++ 信号参数“未定义”
- javascript - 使用 React 检查元素是否在视图中
- c++ - Gtkmm - 关闭窗口然后显示另一个窗口的正确方法
- java - Eclipse 中缺少 JPA 工具菜单
- angular - Angular 2提到primeng p-editor输入添加不起作用
- amazon-web-services - AWS SNS - 如何自定义 s3 事件