我正在从互联网上下载图片(来自Box),我得到了不同的body.length
和标题content-length
。
回复标题content-length
等于75739
。
但body.length
等于72818
。
现在看看这个,如果我运行request(url).pipe(fs.createWriteStream('image.jpg'))
,图像得到75739并正确打开。
Altough,如果我运行fs.writeFileSync('image.jpg', body)
,图像得到137515并且无法正确打开。
我也做了这个要点,所以你可以自己测试:https://gist.github.com/Daymannovaes/54663e0718f0ded40285d0666f937179
我不知道编码是否有问题,但我尝试使用所有编码获取byteLength,但没有一个是正确的大小:
length of the body (ascii) 72818
length of the body (utf8) 137515
length of the body (utf16le) 5636
length of the body (ucs2) 145636
length of the body (base64) 54613
length of the body (latin1) 72818
length of the body (binary) 72818
length of the body (hex) 36409
提前致谢!
答案 0 :(得分:1)
我找到了答案。感谢我的一位朋友。我不知道请求库是否有错,但如果我在请求中设置{ encoding: 'binary' }
,一切正常。