2017-05-14 11 views
0

は、以下の私の圧縮ファイルを解凍し、ストリームを介して送信し、私の本当に簡単なファイルダウンロードのルートであるエンド・エラーの後に書きます明示的に4.15.2 btwを使用しています。ノード・ストリームは、私がアップロードしたファイルをダウンロードするには、ストリームをテストしてい

私はこのルートをしようとすると、それは細かい初めての作品と私は私のブラウザ上でPDFを示しているが、私はページを更新するならば、私のサーバーは、このエラーを取得:

events.js:163 
     throw er; // Unhandled 'error' event 
    ^

Error: write after end 
    at writeAfterEnd (_stream_writable.js:191:12) 
    at Unzip.Writable.write (_stream_writable.js:238:5) 
    at ReadStream.ondata (_stream_readable.js:557:20) 
    at emitOne (events.js:96:13) 
    at ReadStream.emit (events.js:191:7) 
    at readableAddChunk (_stream_readable.js:178:18) 
    at ReadStream.Readable.push (_stream_readable.js:136:10) 
    at onread (fs.js:1938:12) 
    at FSReqWrap.wrapper [as oncomplete] (fs.js:629:17) 

私が何を知りたいのですがやっている?

答えて

0

私の悪い、zlibライブラリを使ってgzipとunzipファイルを作成していましたが、 "zlib.createGzip"と "zlib.createUnzip"がストリームを返すのを忘れてしまったので、 '

私がやった悪いこと:

const unzip = zlib.createUnzip(); 

app.get('/file', (req, res) => { 
    fs.createReadStream('./upload/compress_aurelien-boquet.pdf') 
     .pipe(unzip) 
     .pipe(res); 
}); 

行うには良いことだ:

app.get('/file', (req, res) => { 

    fs.createReadStream('./upload/compress_aurelien-boquet.pdf') 
     .pipe(zlib.createGunzip()) 
     .pipe(res); 

}); 
関連する問題