让我们从我得到的东西开始:
core.app.get('/download/:key', function (req, res) {
require("./../../module/fileupload.js").download(req.params.key, function(file, filename) {
console.log(file + " - " + filename);
if (file != null) res.download(file, filename);
else res.json({success: false, error: "Unknown download key"});
});
});
我得到这个控制台输出意味着它可以工作:
uploads\477559c2-1350-4608-b100-40017b13f9e0 - testfile.png
但是当我尝试下载它时,它给了我:Image
在文档中它说:
将路径中的文件作为“附件”传输。通常,浏览器会提示用户下载。默认情况下,Content-Disposition标头“filename =”参数是path(这通常出现在浏览器对话框中)。使用filename参数覆盖此默认值。 当错误ocurrs或transfer完成时,该方法调用可选的回调函数fn。此方法使用res.sendFile()来传输文件。
res.download(' /report-12345.pdf' ;,' report.pdf');
为什么这不起作用的原因?
答案 0 :(得分:0)
也许尝试像
这样的东西res.setHeader('Content-disposition', 'attachment; filename=' + filename);
在致电res.download()
之前?