Nodejs + expressjs将http响应作为Buffer

时间:2016-04-12 11:20:54

标签: node.js express httpresponse

我想通过Http响应发送一个Buffer,但是在客户端我把它作为字符串而不是Buffer接收。我使用expressjs路由器,如下面的代码

router.get('/', function(req, res, next) {
  const buf = new Buffer('Hello world');
  console.log(buf); // gives me <Buffer 48 65 6c 6c 6f 20 77 6f 72 6c 64>
  res.send(buf); // gives me 'Hello world' 
});

在上面的代码中我的预期结果是Buffer(),但我得到了String输出&#39; Hello World。

有人帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:2)

如Express doc中所述,http://expressjs.com/en/api.html

  

当参数是Buffer对象时,该方法设置Content-Type   响应头字段到“application / octet-stream”

取决于您的浏览器,有些人可能会将响应下载为文件(例如Chrome),有些人可能会直接阅读流并直接显示内容(例如IE11)。