【问题标题】:How to ungzip JSON response using zlib如何使用 zlib 解压缩 JSON 响应
【发布时间】:2013-03-06 11:57:52
【问题描述】:

我尝试使用以下代码发送 JSON 响应,但它给了我一个错误提示

console.log(zlib.createGunzip()).pipe(data);
TypeError: Cannot call method 'pipe' of undefined

我的代码:

res.on('data', function (chunk) {
  data += chunk;
  console.log(data);
  console.log(res.headers['content-encoding']);
  var output;

  switch (res.headers['content-encoding']) {
    // or, just use zlib.createUnzip() to handle both cases
    case 'gzip':
      console.log(data);
      console.log(zlib.createGunzip()).pipe(data);
    break;

    case 'deflate':
      console.log(zlib.createInflate()).pipe(data);
    break;

    default:
      console.log(data);
    break;
  }
});

任何有关这方面的帮助都会非常有用。

【问题讨论】:

    标签: json node.js http zlib


    【解决方案1】:

    console.log() 不返回任何内容(未定义)。您正在尝试在console.log 的返回值上调用方法管道

    我猜你需要这个console.log(zlib.createGunzip().pipe(data));

    【讨论】:

    • 现在我收到错误 stream.js:52 dest.on('drain', ondrain);类型错误:对象
    • 我认为这是一个更具体的问题。我无法帮助您,因为此错误可能是由您的数据或 zlib 引起的...您的问题是关于 TypeError: Cannot call method 'pipe' of undefined
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    相关资源
    最近更新 更多