私は奇妙な問題があります。私はNodeJsでのファイルダウンロードのリクエストを使用しています。大きなファイル(250MB以上)をダウンロードするたびに、それらはメモリにダウンロードされ、ファイルシステムに直接ストリームされません。たぶん私は間違って何かをしているが、私はテストケースを作ったし、ファイルはまだストリーミングされていません。サンプル1GBのファイルをダウンロードし、このテストケースi`mでNodeJsストリーミング要求からファイルシステムにファイルがありません
var request = require('request');
var fs = require('fs');
var writable = fs.createWriteStream("1GB.zip");
var stream = request.get({
uri: "http://ipv4.download.thinkbroadband.com/1GB.zip",
encoding: null
}, function(error, response, body) {
console.log("code:", response.statusCode);
if (response.statusCode >= 500) {
log.err(response.statusCode, " Servererror", file.url);
}
}).pipe(writable);
、あなたはタスクマネージャでノードproccessを見れば、それはファイルをダウンロードするように、> 1ギガバイトに成長します。 私は自分のノード・アプリケーションは、問題はあなたがコールバックのパラメータの一つは、応答の全体body
であるため、暗黙的にrequest
内のバッファリングを可能にするコールバックを渡しているということであるラム
が役立つかもしれない:http://stackoverflow.com/a/19708936/5388620 – Shanoor