node.js - 如何告诉 Node.js HTTP 服务器端使用某种编码/字节序发送响应二进制数据?
问题描述
我正在编写一些 node.js 服务器端代码并遇到编码/字节序的问题。代码如下所示:
http.createServer(function(req, res) {
. . .
res.writeHead(200, {
“content-disposition”: “attachment;filename=” + fileName,
‘content-type’: ‘application/octet-stream',
‘content-length’: file.length
});
res.write(file,“binary”);
res.end();
服务器上的文件内容以“FFD8 FFE0”开头。我在 MacBook Pro 上使用 Chrome。Chrome 保存到我的本地文件系统的文件以“D8FF E0FF”开头</p>
我使用了wireshark,看到发送到浏览器的值是“D8FF E0FF”,这不是我想要的。我可以在节点中做什么来获得正确的编码?
添加/更新:我在服务器(它正在运行 Centos)上使用 Hexdump -n 32 来查看文件内容。我在 MacOS 11.2.1 上使用 Hex Fiend 来查看文件内容。我在 MacOS 上使用 Wireshark 3.4.3 (v3.4.3-0-g6ae6cd335aa9)。
解决方案
推荐阅读
- javascript - 在redux中发送动作,如果在switch的reducer指令中有几种情况
- algorithm - 我被时间复杂度困住了
- sql - 如何使算法按日期和/或来源进行优先排序?
- bootstrap-vue - 引导程序
没有出现 - angular - 如何将项目添加到 rxjs 可观察数组?
- reactjs - 如何修复:无法读取未定义的属性“总计”
- android - Firebase中的Facebook身份验证无法在Android上运行
- java - 以下代码中 new 运算符的用途是什么?
- javascript - 从多个文档中获取一个数组字段并将元素合并到一个对象中
- c# - 重新加载场景导致更新功能停止工作