【发布时间】:2021-09-01 16:47:27
【问题描述】:
我正在尝试从 CDN 服务器下载 10,000 多张图片。但是,当我使用以下代码时,脚本只会创建一堆空文件,并且只下载最后一个文件。我还收到了很多错误,包括 MaxListenersExceededWarning 和 EMFILE,打开的文件太多。如何解决这个问题呢?谢谢。
const http = require('https'); // or 'https' for https:// URLs
const fs = require('fs');
for (let i = 1; i <= 500; i++) {
var random = Math.floor(Math.random() * 1497791);
var url = "https://cdnpath.com" + random + ".png";
//var dest = "D:/SavePath/" + random + ".png";
var file = fs.createWriteStream("D:/SavePath/#" + i + ".png");
var request = http.get(url, function(response) {
response.pipe(file).end();
});
setTimeout(sleep, 3000);
}
【问题讨论】:
标签: javascript node.js