2016-05-23 7 views
2

私はダウンロード速度が両方ともres.sendFile(src);fs.createReadStream(src).pipe(res);であることをテストしていますが、大きな違いはありません。ファイルを提供する方が良い理由は何ですか?私は巨大なファイルを持っている場合、ストリームはそれをより良く扱うでしょうか?Nodejs stream対sendFile

+1

https://www.sitepoint.com/basics-node-js-streams/を参照して、ノード内のストリームが実際にどのようなものかをよりよく知ることができますか? – jruts

答えて

6

私はres.sendFile()を使用することを選択します。

最終的には、res.sendFile()resにストリームをパイプします。したがって、これらのストリームは基本的に同じです。

しかし、res.sendFile()は、ファイル名に基づいて適切なHTTP Content-Typeヘッダーを設定するように、いくつかの余分なものをして、そしてそれはボンネットの下sendライブラリを使用していますので、それは(おそらく、私はこれをテストしていない)ことができ、部分的応答を処理し、コンテンツ交渉を行う。

+0

もし私が 'res.sendFile()'を使い続けていれば、大きなファイルであってもそれをうまく管理できます。 –

+1

@GoncharDenysはい、それは問題ではありません。 – robertklep