我試圖使用Flickr API和http.get()
調用從循環中下載大量來自Flickr的文件。如何從node.js中的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.S.然後最後有錯誤: events.js:72 throw er; //未處理'錯誤'事件 ^ 錯誤:套接字在Socket.gocketOnEnd [as onend](http.js:1538:23) 處的create.gangUpError(http.js:1442:15) 處掛起(events.js:175:14) 在Socket.EventEmitter.emit(events.js:117:20) 在_stream_readable.js:910:16 在process._tickCallback(node.js中:415:13)
我強烈建議不要同步這樣做,即使你能夠弄清楚如何做到這一點。我建議創建一個隊列的文件下載,並運行該隊列,因爲圖像是一次一個下載,或者一次下載多少。正如你所注意到的那樣,節流很重要。 – Brad
布拉德,謝謝!我該如何開始? – user2013424