2016-07-02 4 views
0

何らかの理由でgzipが私の読み込みストリームに適用されていません。理由はわかりません。`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 

任意の考え?

答えて

2

body.pipe(zlib.createGzip()).pipe(res);で、元のストリームを送信してください

関連する問題