【问题标题】:Download file from link and check if download is complete nodejs从链接下载文件并检查下载是否完成nodejs
【发布时间】:2021-01-13 03:25:16
【问题描述】:

我尝试从链接下载文件

这是我的代码

  const url ="https://lalalai.s3-us-west-2.amazonaws.com/media/split/a703a60c-54f3-48f4-91b5-43a60c-54f3-48f4-91b5-4b3bc71dfd2f/accompaniment";
  const file = fs.createWriteStream("./uploads/exp.mp3");
  https.get(url, async function (response) {
    await response.pipe(file);
    console.log("done");
  });

问题是,服务器返回“完成”但下载的文件仍未完成。 有人能帮我吗?谢谢:D

【问题讨论】:

    标签: javascript node.js fs


    【解决方案1】:

    我认为您可以监听事件并应用回调来了解该特定事件会发生什么。下面是示例代码。

    const url ="https://lalalai.s3-us-west-2.amazonaws.com/media/split/a703a60c-54f3-48f4-91b5-43a60c-54f3-48f4-91b5-4b3bc71dfd2f/accompaniment";
      const file = fs.createWriteStream("./uploads/exp.mp3");
      https.get(url, async function (response) {
        response.pipe(file);
        console.log("downloading started");
    
        response.on("error", (err) => {
          console.log("some error occurred while downloading");
          throw err;
        });
      
        response.on("end", () => {
          console.log("it worked, download completed");
        });
        
     });
    

    有时正在下载的文件会出现在 response.body 中而不是 response 中,所以如果上述方法不起作用,请检查一下。

    【讨论】:

      猜你喜欢
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      相关资源
      最近更新 更多