我试图使用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