Flickr APIを使用してFlickrから多数のファイルをダウンロードしようとしていて、ループ内でhttp.get()
を呼び出そうとしています。node.jsのURLからファイルを同期的にダウンロードする方法
画像のURLの配列があり、画像をダウンロードするために「ダウンロード」機能を使用します。 画像が多数ある場合は、ほとんど空のファイルがあります。 ここにダウンロードコードがあります。
これにアプローチする方法をアドバイスしてください。
ありがとうございます!
for (i=1;i<100;i++){
filename= "./images/file"+i+".jpg";
download(photourl[i], filename,{});
} //End of for-loop
.....
var download = function(url, dest, cb) {
var file = fs.createWriteStream(dest);
var request = http.get(url, function(response) {
response.pipe(file);
file.on('finish', function() {
file.close();
//cb();
});
});
}
P.最後にエラーがあります: events.js:72 throw er; //未処理の 'エラー' のイベントが ^ エラー:Socket.socketOnEndで [としてonend](http.js:1538:23) Socket.gのソケットは(::1442年15 http.js)createHangUpErrorで をハングアップ(events.js:14:175)Socket.EventEmitter.emitで 910:16 process._tickCallbackで(のNode.js:415:13)
_stream_readable.jsで (events.js:20:117)
これを同期させることは、あなたがそれを行う方法を見つけ出すことができても、強くお勧めします。ダウンロードするファイルのキューを作成し、イメージが1つずつ、または一度にいくつでもダウンロードできるように、そのキューを実行することをお勧めします。あなたが気づいたように、抑制は重要です。 – Brad
ブラッド、ありがとう!どのように私はそれを始めるのですか? – user2013424