Gzip 不适用于 `fs.createReadStream`
Gzip not working for `fs.createReadStream`
出于某种原因,gzip 未应用于我的读取流,我不确定为什么。
这是我编写的函数,body
将始终是来自 fs.createReadStream
的流或只是一个原始字符串。如果我传入字符串,将应用 gzip,但在使用流时不会。
export function send(res, code, body) {
res.setHeader('Content-Encoding', 'gzip');
res.writeHead(code);
if(body instanceof Stream) {
body.pipe(zlib.createGzip());
body.pipe(res);
return;
}
body = zlib.gzipSync(body);
res.end(body);
}
我在 Chrome 中收到此错误:
ERR_CONTENT_DECODING_FAILED
有什么想法吗?
应该是body.pipe(zlib.createGzip()).pipe(res);
,你发的是原码
出于某种原因,gzip 未应用于我的读取流,我不确定为什么。
这是我编写的函数,body
将始终是来自 fs.createReadStream
的流或只是一个原始字符串。如果我传入字符串,将应用 gzip,但在使用流时不会。
export function send(res, code, body) {
res.setHeader('Content-Encoding', 'gzip');
res.writeHead(code);
if(body instanceof Stream) {
body.pipe(zlib.createGzip());
body.pipe(res);
return;
}
body = zlib.gzipSync(body);
res.end(body);
}
我在 Chrome 中收到此错误:
ERR_CONTENT_DECODING_FAILED
有什么想法吗?
应该是body.pipe(zlib.createGzip()).pipe(res);
,你发的是原码