给定url,我想强制浏览器从外部存储下载文件。我实现了这个express controller post action:
var download = function(req, res) {
request(req.body.url).on('response', function(response) {
res.set({
'Content-Disposition': 'attachment; filename=' + req.body.filename,
'Content-Type': response.headers['content-type']
});
})
.pipe(res);
};
我不知道为什么浏览器总是收到"inline"而不是"attachment",不让我下载文件。
在这种情况下,我使用express和request,服务器托管在Heroku上,服务器托管文件是FilePicker。
我正在寻找同样的东西。Express的文档展示了一个非常简单的辅助方法:
var express = require('express');
var app = express();
app.get('/download', function(req, res) {
res.download('/path/to/your_file.pdf');
});