如何告诉 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”开头

我使用了wireshark,看到发送到浏览器的值是“D8FF E0FF”,这不是我想要的。我可以在 node 中做什么来获得正确的编码?

添加/更新:我在服务器(它运行 Centos)上使用 Hexdump -n 32 来查看文件内容。我在 MacOS 11.2.1 上使用 Hex Fiend 查看文件内容。我在 MacOS 上使用 Wireshark 3.4.3 (v3.4.3-0-g6ae6cd335aa9)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)