节点表达内容 - 处置

bep*_*zza 5 content-disposition node.js express requestjs

我想强制浏览器从外部存储器下载文件,给定一个URL.我实现了这个快速控制器后期操作:

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);
};
Run Code Online (Sandbox Code Playgroud)

我不知道为什么浏览器总是收到"内联"而不是"附件",避免我下载文件.

在这种情况下,我使用express和request,服务器托管在Heroku上,托管文件的服务器是FilePicker.

The*_*ith 5

我正在寻找同样的事情.Express'文档显示了一个非常简单的帮助方法,开箱即用:

var express = require('express');
var app = express();

app.get('/download', function(req, res) {
  res.download('/path/to/your_file.pdf');
});
Run Code Online (Sandbox Code Playgroud)