javascript - node 抓图,图片下载不完全
本文介绍了javascript - node 抓图,图片下载不完全的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
使用node request模块批量抓取图片,但是发现有些图片下载的不完全,图片一部分显示正常,一部分是灰色的。
而且图片下载不全也是随机出现,不一定是哪一张。
代码如下:
var arr=["http:www.a.com/1.png","http:www.a.com/2.png","http:www.a.com/3.png"....]
for(var i=0;i<30;i++){
lodPic(arr[i])
}
function loadPic(url){
var _url=encodeURI(url);
request.head(_url,function(err,res,body){
if(err){
console.log(err);
}
request(url).pipe(fs.createWriteStream(ph)).on('close',function(){
console.log('finfish');
});;
});
}
解决方案
var request = require('request');
var options = {
url: 'https://api.github.com/repos/request/request',
headers: {
'content-length': 1024,
}
};
function callback(error, response, body) {
//
}
request(options, callback);
看代码,把content-length设置的再大一点试试,我之前用cpp写静态服务器的时候遇到过,有的图片比这个值要大,所以只有一半被传输成功。而有的图片比这个值小,所以能传输完整。不知道你也是不是这个问题。
这篇关于javascript - node 抓图,图片下载不完全的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文