我正在尝试使用请求模块保存图像下载。有了这个
request('http://google.com/images/logos/ps_logo2.png').pipe(fs.createWriteStream('doodle.png'));
它工作正常。但是我希望在图像完全下载后能够做其他事情。如何为 fs.createWriteStream 提供回调函数?
您想提前创建流,然后在关闭事件上做一些事情。
var picStream = fs.createWriteStream('doodle.png');
picStream.on('close', function() {
console.log('file done');
});
request('http://google.com/images/logos/ps_logo2.png').pipe(picStream);
这应该这样做。
出现此错误的人必须尝试在 fs.createWriteStream(1,2) 方法的第二个输入参数处添加一个函数,如下例所示,这也适用于 fs.unlink 方法。请注意,添加的这个新函数什么都不返回,但它是必需的,如果需要,你也可以添加一些东西来返回,而不是在我的情况下。
request('http://google.com/images/logos/ps_logo2.png').pipe(fs.createWriteStream('doodle.png'), function(err){});