【问题标题】:Nodejs + expressjs get http response as BufferNodejs + expressjs 以 Buffer 形式获取 http 响应
【发布时间】:2016-08-02 23:28:21
【问题描述】:

我想通过 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 (),但我得到了字符串输出 'Hello World.

谁来帮帮我。提前致谢。

【问题讨论】:

  • 客户端对NodeJS一无所知buffer,所以无法使用。
  • 您希望收到什么确切?缓冲区内容的十六进制表示?
  • 缓冲区内容类似这样

标签: node.js express httpresponse


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2019-07-12
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多