我有以下问题:
我想从另一台服务器获取静态文件,并使用其他内容类型标头将其返回给用户。
以下代码工作正常,但我无法找到更改响应标头的方法。
const request = require('request');
app.get('video', function (req, res) {
request.get('http://anotherurl.com/video-sample.mp4').pipe(res);
});
我试图更手动地做这件事,但反应很慢。
app.get('video', function (req, res) {
request.get('http://anotherurl.com/video-sample.mp4', function(error, response, body) {
// ...
res.setHeader('content-type', 'image/png');
res.send(new Buffer(body));
});
});
你们可以帮助我吗?
由于
答案 0 :(得分:1)
只需在'response'
事件触发时设置响应标头。
app.get('video', (req, res) => {
request.get('http://anotherurl.com/video-sample.mp4')
.on('response', response => {
res.setHeader('Content-Type', 'image/png');
// pipe response to res
// since response is an http.IncomingMessage
response.pipe(res);
});
});