Node.js下载远程文件

 2021年05月19日 分类:nodejs/后端编程  评论(0)  阅读(1824)

直接上代码

const request = require('request');
const fs = require('fs');
const path = require('path');

router.get('/download', function(req, res, next) {
  // 创建目录
  let dirPath = path.join(__dirname, "../uploads/temp");
  if (!fs.existsSync(dirPath)) {
    fs.mkdirSync(dirPath);
    console.log("目录创建成功");
  } else {
    console.log("目录已存在");
  }

  // 下载远程文件到服务器
  let url = 'https://mp32.9ku.com/upload/128/2020/04/17/1003659.mp3';
  let filePath = path.join(dirPath, "1003659.mp3");
  let fStream = fs.createWriteStream(filePath);
  request(url).pipe(fStream).on("close", function (err) {
    console.log("文件[" + "1003659.mp3" + "]下载完毕");

    // 下载服务器文件到浏览器
    res.download(filePath, (err) => {
      if(err) {
        res.send(err);
      } else {
        // 删除服务器临时文件
        fs.unlinkSync(filePath);
      }
    });
  });
});

原地址:https://www.fenxianglu.cn/noteDetail/344

wechat_app
微信公众号:webapp_club
关注一下,或许能让你获得更多前端咨询信息。
加载中...
分享中心
各类业务开发,联系QQ:5679361
广告位联系QQ:5679361

评论 抢沙发

评论前必须登录


如果你觉得本站内容对你有所帮助,比如提升你对编程方面的认识,你可以通过上面的二维码请博主喝杯咖啡,安好。

WEB前端开发部落(公众号:webapp_club)

群列表

前端初级学习群:初级Web前端学习群(后期为支付入群)
PHP初级学习群:PHP(MySQL)学习交流群
QQ群仅作为相关领域讨论平台,均提供高质量问题交流,禁止闲聊,无法接受的朋友请勿加群!
进群需要通过这里获取进群码才能进群哦!