我正在使用NodeJs
(expressJs)和archiver
模块将 zip 文件流式传输到客户端,因此最终的 ZIP 文件在服务器存储(streaming zip serving
)中不存在,但问题是我无法获得输出文件的大小,因为 zip过程实时发生。
代码 :
var archiver = require('archiver');
var files = ["file1","file2"];
var zipper = archiver('zip');
zipper.on('error', function(err) {
res.status(500).send({
error: err.message
});
});
res.attachment('output.zip');
res.setHeader('Content-Type', 'application/zip');
zipper.pipe(res);
files.forEach(f => {
zipper.file(f, {
name: f
});
});
zipper.finalize();