nodejs 非utf8编码文件下载 得到的文件大小错误 结果异常

发布于 2022-09-02 14:25:59 字数 532 浏览 16 评论 0

我用express搭建了一个node的后台
把file.dat文件放在/public/files目录下
public用express的route方法设置了公开路径
这个目录下的文件在get请求下会发送文件响应

app.route('/:url(files|images)/*')
    .get((req, res) => {
        res.sendFile(path.resolve(app.get('public') + req.url));
    });
    

现在遇到的问题是 file.dat 这种格式的二进制文件 原文件是1.8M大小,从前端请求响应的文件是 3.1M大小。

我尝试了将静态文件放在静态公开目录,前端直接通过url下载,不做拦截,也不用sendFile的方法,纯静态资源请求,也是这样。文件编码是 latin1。 服务器环境是linux debian,nginx 1.6.2。 node 4.4.3稳定版。

我想知道文件请求响应的过程中,哪些地方会引起数据包改变。还有咋能解决这个问题。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文