问问题
1680 次
2 回答
4
这取决于您与图像一起发送的标题。
要让浏览器下载图像而不是显示它,您需要设置"Content-Disposition: attachment"
标题。
由于您使用的是static
中间件,因此这比在您自己的请求处理程序函数中要复杂一些。您必须在静态中间件之前注入一个中间件。
app.use(function(req, res, next) {
if (req.path.split('/')[0] === "downloads")
res.attachment(); //short for res.set('Content-Disposition', 'attachment')
next();
});
app.use(express.static(__dirname + '/public'));
于 2013-02-07T18:40:54.893 回答
0
与@rdrey 的回答类似,如果?dl
url 中有查询参数,则让浏览器下载文件。
app.use('/gifs/*.gif', function(req, res, next) {
if (req.query.dl !== undefined) res.attachment();
next();
});
app.use('/gifs', express.static(__dirname + '/gifs'));
于 2014-12-01T11:06:37.503 回答