问题描述
我的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 (将#修改为@)