gpt4 book ai didi

node.js - 多部分文件上传问题

转载 作者:搜寻专家 更新时间:2023-10-31 23:23:55 24 4
gpt4 key购买 nike

我有一个 Koa 应用程序,它有一个 multipart/form-data 文件上传突然停止工作。我现在已经花了 8 个多小时试图找出问题所在。我已经尝试/验证的内容:

  • 不是 Node 6 问题; Node 4(之前可以正常工作)也会出现同样的问题。
  • 已排除 packages.json 中的版本问题;已针对所有相关软件包的原始工作版本和最新版本进行了测试。
  • 在最新的 Chrome 和最新的 Firefox 中发布展览。
  • 当直接从 Postman 使用与浏览器发送的完全相同的 header 进行 POST 时,问题不会出现(CookieReferer 除外,两者都不是可以在 Postman 中设置)。
  • Koa 包装器出现问题 koa-better-bodykoa-multer .
  • 直接使用时出现问题 busboy , formidable ,甚至 multiparty .
  • 与人们报告的问题类似 multer issue ;尝试了所有建议(包括在文件参数之前添加字段参数的长镜头)无济于事。
  • 已尝试重新创建最小的测试用例以进行重现,但未能成功。
  • 尝试逐行削减我的应用程序,根据最小测试用例检查 Babel 输出,直到它们在功能上相同,问题仍然存在于我的应用程序中,但在测试用例中没有。
  • 所有测试都在同一台服务器上使用相同的浏览器运行。

调试时,问题的最清晰 View 是在 incoming_form.js 中的 formidable。发生单个 data 事件:

enter image description here

然后是一个abort事件:

enter image description here

之后,浏览器最终会超时。 (该文件大于第一个 data 事件中接收到的 15 个字节。)

我曾希望通过从 formidabl 切换到 busboy 来快速解决问题,但现在我真的束手无策,因为这个问题需要解决,而我已经没有办法查看这个问题了。我已经尝试以我能想到的所有方式对其进行切片,以我能想到的所有方式对其进行调试,并且没有编写我自己的多部分解析器(这不是我喜欢的任务),我很快就没有选择了。

有没有人遇到过这个?您对我如何继续调试或生成最小测试用例有什么想法吗?

最佳答案

原来问题出在 koa-proxy 上:它没有正确转发多部分 POST 请求。我通过切换到 koa-proxy2 来修复它,我将研究为 koa-proxy 项目贡献一个修复程序。

关于node.js - 多部分文件上传问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40334988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com