我在 NodeJS 服务器中使用 express 模块来生成一个 zip 文件。快递服务器正在响应许多请求,所以我知道设置正确,但我无法生成 zip 文件并将其作为可下载文件发送回去。
我不想保存文件然后告诉 Express 将该文件作为下载发送,我只想将 zip 文件作为内存中的数据发送。这是我到目前为止所拥有的。
function buildZipFile(data, filename) {
var zip = new require('node-zip')();
zip.file(filename, data, { base64: false });
return zip.generate();
}
var data = buildZipFile('hello world', 'hello.txt');
res.set('Content-Type', 'application/zip')
res.set('Content-Disposition', 'attachment; filename=file.zip');
res.set('Content-Length', data.length);
res.end(data, 'binary');
return;
该文件将返回,但无论是 windows unzip 还是 7zip 都无法打开存档,就好像它已损坏一样。有什么建议么?先感谢您。