我有以下控制器从服务中获取文件并将答案传递给浏览器。
function (req,res){
request.get(serviceUrl).pipe(res);
}
我想更改内容处理(从附件到内联),以便浏览器打开文件而不是直接下载。
我已经尝试过了,但它无法正常工作:
function (req,res){
res.set('content-disposition','inline');
request.get(serviceUrl).pipe(res);
}
我正在使用的版本是:
答案 0 :(得分:0)
为此,您可以在请求和响应之间使用中间passtrhough流,然后请求的标头不会传递给响应:
var through2 = require('through2'); // or whatever you like better
function (req, res) {
var passThrough = through2(); // this stream is necessary to put correct response headers
res.set('content-disposition','inline');
request.get(serviceUrl).pipe(passThrough).pipe(res);
}
但要小心,因为这会忽略所有标题,您可能需要指定' Content-Type'等。