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);,你发的是原码