【问题标题】:Gzip not working for `fs.createReadStream`Gzip 不适用于`fs.createReadStream`
【发布时间】:2016-07-02 11:11:39
【问题描述】:

由于某种原因,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

有什么想法吗?

【问题讨论】:

    标签: node.js gzip zlib


    【解决方案1】:

    应该是body.pipe(zlib.createGzip()).pipe(res);,你发送的是原始码流

    【讨论】:

      猜你喜欢
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 2016-03-09
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      相关资源
      最近更新 更多