直接上代码
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);
}
});
});
});
评论前必须登录