使用请求更改NodeJS上响应的标头

时间:2017-04-11 19:37:19

标签: node.js express request

我有以下问题:

我想从另一台服务器获取静态文件,并使用其他内容类型标头将其返回给用户。

以下代码工作正常,但我无法找到更改响应标头的方法。

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));
  });
});

你们可以帮助我吗?

由于

1 个答案:

答案 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);
    });
});
相关问题