本站域名已变更为https://blog.67v.cn,全新首页即将发布,尽情期待!!!

Node.js下载远程文件

直接上代码

code
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

读完了点一下,作者能得积分

赞赏

如果这篇内容帮到了你,不妨请作者喝杯咖啡

分享 微博 QQ

发表评论

发表评论