javascript - Nodejs 不同的内容长度

标签 javascript node.js content-length

我正在从互联网(从 Box)下载图像,并且我得到了不同的 body.length 和 header content-length

响应 header content-length等于75739。 但 body.length 等于 72818

现在看看这个,如果我运行 request(url).pipe(fs.createWriteStream('image.jpg')),图像会得到 75739 并正确打开。

尽管如此,如果我运行 fs.writeFileSync('image.jpg', body),图像会得到 137515 并且无法正确打开。

我也做了这个要点,所以你可以自己测试:https://gist.github.com/Daymannovaes/54663e0718f0ded40285d0666f937179

我不知道编码是否是问题,但我尝试获取所有编码的字节长度,但没有一个是正确的大小:

正文长度 (ascii) 72818 正文长度 (utf8) 137515 正文长度 (utf16le) 5636 body 长度(ucs2)145636 主体长度(base64)54613 body 长度(拉丁语1)72818 主体长度(二进制)72818 主体长度(十六进制)36409

提前致谢!

最佳答案

我找到了答案。感谢我的一个 friend 。我不知道是否是请求库的错误,但如果我在请求时设置 {encoding: 'binary' } ,一切都会正常工作。

关于javascript - Nodejs 不同的内容长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41902075/

相关文章:

PHP SOAP 请求

PHP 将 0 的内容长度返回给 python 的 urllib

javascript - Ember.js:将 Em.$.getJSON 转换为 promise 并将响应绑定(bind)到 Controller 上下文的正确方法?

javascript - css 过渡不透明度在元素显示 :none then changed to display:block 的地方不起作用

node.js - 是否可以打包一个 'real' mongodb 库以仅在 meteor 0.6 中用于 *server* 端

node.js - Sequelize 迁移 : ERROR: Cannot read property 'toString' of undefined

javascript - 如何在 JavaScript 中验证多部分表单数据的内容长度?

javascript - 如何通过jquery通配符搜索数据属性的精确包含值?

javascript - 滚动 "touchmove"时断断续续

javascript - 为什么我的 Loop 事件处理程序不工作?