Node.js下载远程文件

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

直接上代码

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
关注一下,或许能让你获得更多前端咨询信息。
加载中...
分享中心

评论 抢沙发

评论前必须登录(开发中...)