EC2 Tomcat实例与Grails应用程序在多部分上传方面的工作方式非常不同

EC2 Tomcat实例与Grails应用程序在多部分上传方面的工作方式非常不同,tomcat,grails,file-upload,amazon-ec2,multipart,Tomcat,Grails,File Upload,Amazon Ec2,Multipart,我有一个grails应用程序,它通过以下机制完成文件的简单多部分上传: 我有一个域对象,它有一个transientbyte[]字段和一个多部分表单,在提交时,它会转到使用request.getFile(“此处输入表单字段的名称”)的控制器 在我的本地机器上进行测试时,所有这些都可以正常工作,包括在本地虚拟服务器上的Tomcat7实例上部署war。如果我在控制器中检查请求,则一切正常 当我把这个war放到AWS EC2 UbuntuBox上的Tomcat7上时,除了文件上传,grails应用程序中

我有一个grails应用程序,它通过以下机制完成文件的简单多部分上传:

我有一个域对象,它有一个transientbyte[]字段和一个多部分表单,在提交时,它会转到使用request.getFile(“此处输入表单字段的名称”)的控制器

在我的本地机器上进行测试时,所有这些都可以正常工作,包括在本地虚拟服务器上的Tomcat7实例上部署war。如果我在控制器中检查请求,则一切正常

当我把这个war放到AWS EC2 UbuntuBox上的Tomcat7上时,除了文件上传,grails应用程序中的一切都很好。如果我检查该请求(是的,我通过防火墙孔将intellij钩住ec2实例),该请求是一个多部分请求,但没有任何部分!没有文件。它看起来与我在本地检查它(相同的代码,相同的intellij设置)时有所不同


我在AmazonTomcat7版本中找不到任何选项(是的,他们对它做了一些更改)来说明可以做什么。但我猜它要么是某个配置文件中的某个奇怪参数,要么是某个库中的某个参数(我将在EC2v.my机器上区分libs)

发现答案!为了解决我认为存在的问题,我在上下文中设置了allowCasualMultipartParsing=true

把它拿出来,问题就解决了。所以,我相信这是我的代码中的一个bug,最初我尝试了很多东西来修复,但没有意识到一旦找到了真正的源代码,我就没有放弃所有的尝试

因此,请注意AllowCasalMultipartParsing