http 経由でバイナリ データを取得しています。私のコードは次のようになります:
var writeStream = fs.createWriteStream(fileName);
request(url, function(err, res) {
res.socket.pipe(writeStream);
});
出力ファイルは作成されましたが、ファイルサイズは 0 です。URL は正しいですが、wget で確認しました。
よろしくお願いいたします。
http 経由でバイナリ データを取得しています。私のコードは次のようになります:
var writeStream = fs.createWriteStream(fileName);
request(url, function(err, res) {
res.socket.pipe(writeStream);
});
出力ファイルは作成されましたが、ファイルサイズは 0 です。URL は正しいですが、wget で確認しました。
よろしくお願いいたします。
のコールバックは、リクエストのレスポンスhttp.request
への参照である引数を 1 つだけ提供します。試す
http.request(url, function(res) {
res.pipe(writeStream);
});
また、 をClientResponse
実装しているため、ではなくReadableStream
を使用する必要があることに注意してください。.pipe
.socket.pipe
ここrequest
は、のインスタンスではなく、mikeal のリクエスト ライブラリからのものであると想定していますhttp.request
。その場合、あなたは簡単に行うことができますrequest(url).pipe(writeStream);
デバッグの目的で、いつでも にパイプできることに注意してくださいprocess.stdout
。
var readStream = fs.createReadStream(fileName);
request(url, function(err, res) {
readStream.pipe(res);
readStream.on('end', function() {
//res.end({"status":"Completed"});
});
});