2011-12-21 6 views
3

私はチャンクでgzip圧縮されたウェブページの内容を取得し、それを受けますとすぐに、それぞれを解凍したいので、私は(読みやすくするために取り除かもの)やろうとしているんだ。しかし、私は」node.jsのchunk-by-chunkをgunzipする方法は?

var decompress = function(string, callback) { 
    zlib.gunzip(string, callback); 
}; 

decompress(chunk, function(data) { 
    console.log(data); 
}); 

をコンソールにログされるのはnullです。私のノードのバージョンは0.6.2で、zlibは組み込みのものです。それをどのように伸ばすべきですか?

答えて

8

あなたにgunzipにパイプ内容にしたい場合は、zlib#createGunzip()

http.get(options, function(res) { 
    var gunzip = zlib.createGunzip(); 
    res.pipe(gunzip); 
    gunzip.on('data', function() { 
    console.log(data); 
    }); 
}).on('error', function(e) { }); 
+1

パイプはストリームを想定ように私はバッファを持っている場合、私は何をしますか、ルックスを使うのか? – Fluffy

+3

質問では、データをまとめると言っていたので、httpモジュールでリクエストして、resオブジェクトを取得していると仮定しました。あなたが他の非ストリームオブジェクトのやり方をしているなら、 'gunzip.write(data)'を呼び出すことができます。 – fent

+1

これはうまくいきました。 1つの最後の質問:どのようにそれを知っていますか?私はこのようなものをたくさん探していました。たとえ "node js gunzip write"を試しても、トップの結果はとてもうれしいです... – Fluffy

関連する問題