当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 多部分文件上载问题

来源:互联网 收集:自由互联 发布时间:2021-06-16
我有一个Koa应用程序,它具有突然停止工作的multipart / form-data文件上传.我现在花了8个多小时试图找出问题所在.我尝试/验证过的内容: 不是节点6问题;节点4(以前工作)也会出现同样的问
我有一个Koa应用程序,它具有突然停止工作的multipart / form-data文件上传.我现在花了8个多小时试图找出问题所在.我尝试/验证过的内容:

>不是节点6问题;节点4(以前工作)也会出现同样的问题.
>已排除packages.json中的版本问题;已针对所有相关软件包和最新版本的原始工作版本进行了测试.
>在最新的Chrome和最新的Firefox中发布展品.
>直接从邮递员发布邮件时,问题不会出现与浏览器发送的标题完全相同的标题(除了Cookie和Referer,两者都不能在邮递员中设置).
>问题展示与Koa包装koa-better-body和koa-multer.
>直接使用busboy,formidable甚至multiparty时出现问题.
>类似于人们在multer issue上重新报道的问题;尝试了所有建议(包括在文件参数之前添加字段参数的远景)无济于事.
>尝试重新创建最小的测试用例来重现,但一直无法.
>尝试逐行削减我的应用程序,检查Babel输出与最小测试用例,直到它们在功能上相同,问题仍然存在于我的应用程序中,但不是在测试用例中.
>所有测试都使用相同的浏览器在同一台服务器上运行.

在调试时,在incoming_form.js中,最清晰的问题是使用强大的.发生单个数据事件:

然后是中止事件:

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

我希望通过从formidabl切换到busboy来快速修复,现在我是一个真正的绑定,因为这个问题需要得到修复,而我正在用尽方法来查看问题.我试图以我能想到的每一种方式对其进行切片,以我能想到的方式调试它,并且没有编写我自己的多部分解析器(不是我津津乐道的任务),我快速耗尽了选项.

有没有人碰过这个?您对我如何进行调试或生成最小测试用例有什么想法吗?

原来问题是 koa-proxy:它没有正确转发多部分POST请求.我通过切换到 koa-proxy2来修复它,我将研究为koa-proxy项目提供修复.
网友评论