我想在网站上下载一些图片,图片由
http://a.com/1.jpg
http://a.com/2.jpg
http://a.com/3.jpg
所以,我编写代码来做到这一点
我的代码是:
var request = require('request');
var fs = require('fs');
var mkdir = require('mkdirp');
var preUrl = 'http://a.com/';
var dir = './images';
mkdir(dir, function(err) {
if(err) {
console.log(err);
}
});
for(var i = 1; i <= 10; i++){
var trueUrl = preUrl + i + '.jpg';
var name = i + '.jpg';
request(trueUrl, function(err, response, body) {
if(!err && response.statusCode == 200) {
download(trueUrl, dir, name);
console.log("Done" + trueUrl);
}
});
}
var download = function(url, dir, filename) {
request.head(url, function(err, res, body) {
request(url).pipe(fs.createWriteStream(dir + '/' + filename));
});
};
但代码中有一些错误。
代码无法运行
request(trueUrl, function(err, response, body) {
if(!err && response.statusCode == 200) {
download(trueUrl, dir, name);
console.log("Done" + trueUrl);
}
});
所以我该怎么做?
现在,我发现控制台会输出完成的http://a.com/10.jpg。
最后,下载的图片只有 10.jpg