SPDY + Express:从服务器下载的zip文件已损坏

时间:2019-02-24 21:10:43

标签: node.js express download zip spdy

打开下载的zip文件时收到错误。

Error Opening a downloaded zip file

NodeJS服务器:使用http2的SPDY和Express

我创建了一个api路径来下载zip文件。在Chrome / Firefox中下载的zip文件已损坏,但是在Postman中使用“发送并下载”测试了相同的路由。我能够获取文件并能够打开zip文件

在服务器端生成存档文件并将其通过管道传递到响应的代码

const archive: archiver.Archiver = archiver('zip');

archive.on('error', error => next(new ServerError(500, error.message)));
archive.on('end', () => {
    console.log(`Total bytes: ${archive.pointer()}`);
    res.end();
});
archive.pipe(res);

strArr.forEach((str, idx) => archive.append(str, { name: `${idx}.txt` }));
archive.finalize();

下载的文件大小有所不同

Difference in file sizes

在这3个对后端的所有请求中,API返回的字节数相同

Total bytes: 27137312

0 个答案:

没有答案