【问题标题】:Callback function after image has downloaded图片下载后的回调函数
【发布时间】:2023-03-10 21:40:01
【问题描述】:

我正在尝试使用request 模块保存图像下载。有了这个

request('http://google.com/images/logos/ps_logo2.png').pipe(fs.createWriteStream('doodle.png')); 

它工作正常。 但是我希望在图像完全下载后能够做其他事情。 如何给 fs.createWriteStream 提供回调函数?

【问题讨论】:

    标签: node.js request fs


    【解决方案1】:

    你想提前创建流,然后在关闭事件上做一些事情。

    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); 
    

    应该这样做。

    【讨论】:

      【解决方案2】:

      遇到此错误的人必须尝试在 fs.createWriteStream(1,2) 方法的第二个输入参数处添加一个函数,如下例所示,这也适用于 fs.unlink 方法。请注意,添加的这个新函数不会返回任何内容,但它是必需的,如果需要,您也可以添加一些返回的内容,而不是在我的情况下。

      request('http://google.com/images/logos/ps_logo2.png').pipe(fs.createWriteStream('doodle.png'), function(err){});
      

      【讨论】:

        猜你喜欢
        • 2014-07-27
        • 2012-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-29
        • 2018-03-08
        • 2016-11-27
        • 2020-06-29
        相关资源
        最近更新 更多