【发布时间】:2020-04-06 01:51:55
【问题描述】:
我想使用 res.download() 从服务器下载某些文件,但是当我触发 res.download 时,它不会将客户端带到正确的 url。需要下载的文件在一个静态设置的目录中。
这是我的相关后端代码:
app.get("/downloadfile", function(req,res){
var file = req.query.file;
var currentpath = req.query.currentpath;
console.log("SENDING FILE: " + file + " at: " + currentpath);
//file = file.substring(20, file.length)
console.log(file);
console.log(currentpath + "/" + file);
res.download(currentpath + "/" + file, file);
})
这是我触发这段代码时的终端输出:
SENDING FILE: Matthew Haywood CV.pdf at: /media/pi/ELEMENTS B//Matt Haywood/Uni Work
Matthew Haywood CV.pdf
/media/pi/ELEMENTS B//Matt Haywood/Uni Work/Matthew Haywood CV.pdf
这表明提供给 res.download 函数的路径是正确的,前端代码没有任何问题,否则会出现错误。
这是触发此路由时 Safari 返回的内容:
为什么 res.download 直接指向 /path_to_file/your_file.pdf/ 而不是 server/path_to_file/your_file.pdf?
当我手动访问 url 时,文件下载没有问题,但使用 res.download() 时,它会转到错误的 url。
【问题讨论】:
标签: javascript html css node.js express