新手问题:request(imgUrl).pipe(fs.createWriteStream(filePath));下载图片后的问题?
发布于 10 年前 作者 manxiaqu 10297 次浏览 最后一次编辑是 8 年前 来自 问答

var url = ‘http://i4.pixiv.net/img-original/img/2015/04/05/00/00/30/49662139_p0.jpg’; var request = require(‘request’), fs = require(‘fs’); request(url).pipe(fs.createWriteStream(‘ddddd.jpg’));

像这样运行后,程序未报错。 但图片一直为1kb,打开时一直显示文件太大或损坏。 不知道是什么原因。求解答下。

5 回复
var url = 'http://i4.pixiv.net/img-original/img/2015/04/05/00/00/30/49662139_p0.jpg';
var request = require('request'),
fs = require('fs');
// request(url).pipe(fs.createWriteStream('test.jpg'));
request(url, function (err, res, body) {
	// console.log(err);
	// console.log(res);
	console.log(body);
});

点开链接是403,网站应该做了防盗链吧

@CocaCola183 我换了个地址的图片可以用,应该是这个问题,谢了!

呃。。。连直接打开都是 403。。。

绕过去就好了

var url = 'http://i4.pixiv.net/img-original/img/2015/04/05/00/00/30/49662139_p0.jpg';
var request = require('request'),
fs = require('fs');
request.get({
  url: url,
  headers: {
    'referer': 'http://www.pixiv.net/'
  }
}).pipe(fs.createWriteStream('ddddd.jpg'));

@alsotang thank you,可以下载0 0

@alsotang 为什么加了referer就可以,绕过去是什么意思。。

回到顶部