zlib.Unzip引发文件错误意外结束

问题描述

我的Express应用程序中有一个响应,其中似乎包含压缩数据。经过一番研究,发现zlib是一种解压缩选项。但是,我没有尝试过。

我找到了以下示例代码

const gunzip = zlib.Unzip(); // originally used zlib.createUnzip()
const jsonString = '';
response.pipe(gunzip); // piping response or response.body doesn't work
gunzip.on('data',function (chunk) {
    jsonString += chunk;
});
gunzip.on('end',function () {
  console.log('End of decomp .... ');
    console.log((jsonString));
});
gunzip.on('error',function (e) {
  console.log('Decomp Error :: ',e);
});

这会产生以下错误(主体部分被截断以便于阅读)

body: '\u001f�\b\u0000\u0000\u0000\u0000\u0000\u0000\u0013��n\u001a1\u0010�_��yU.... [Symbol(kCapture)]: false } Error: unexpected end of file at Zlib.zlibOnError [as onerror] (zlib.js:180:17) { errno: -5,code: 'Z_BUF_ERROR' }

我还尝试了zlib.createUnzip并将response.body传递到pipe(),该错误给出了“ .pipe不是函数错误。由于正文是包含压缩信息的唯一部分,因此我试图找到一种方法来传递该信息,而不是传递整个响应,但无法使其正常工作。

这是我第一次必须在Node中进行压缩/解压缩,所以我可能忽略了一些简单的事情。非常感谢您的帮助。

编辑

我也尝试了this帖子中包含的建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)