node.js - Nodejs + Expressjs 将 http 响应作为缓冲区获取

标签 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 (),但我得到了字符串输出“Hello World”。

谁来帮帮我。提前致谢。

最佳答案

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

When the parameter is a Buffer object, the method sets the Content-Type response header field to “application/octet-stream”

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

关于node.js - Nodejs + Expressjs 将 http 响应作为缓冲区获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36571783/

相关文章:

node.js - 什么参数被传递给 Mongoose 回调

客户端 JavaScript 代码替换

python - GAE Python - 访问响应对象中的值

Node.js + Express + Socket.io : No client socket events firing

java - 图像获取中的禁止响应代码

java - 如何使工作 HttpResponse 更快?

javascript - grunt "test command"在 npm init 上做了什么

javascript - AngularJS 字符串不是函数

javascript - node.js 中的并行回调宇宙?

javascript - Node.js:在同一台服务器上运行多个应用程序