Servlets ServletFileUpload解析请求空列表

Servlets ServletFileUpload解析请求空列表,servlets,file-upload,multipartform-data,apache-commons-fileupload,Servlets,File Upload,Multipartform Data,Apache Commons Fileupload,我遇到问题,ServerFileUpload.parseRequest偶尔返回一个空列表 我读过: 这是: 如上所述,这种情况只会偶尔发生一次,而且通常情况下,如果上传者在一段时间后重试,它就会工作。 我无法在我的开发环境中重现这种行为,但它发生在生产环境中,让我发疯 任何关于可能导致这种情况的指示都将不胜感激 Thx如果您使用的是框架,它可能正在读取请求,同时尝试在数据到达控制器之前解析数据。该流只能读取一次。例如,我的项目中使用SpringFramework的默认多部分解析器阻止我为一个

我遇到问题,ServerFileUpload.parseRequest偶尔返回一个空列表

我读过:

这是:

如上所述,这种情况只会偶尔发生一次,而且通常情况下,如果上传者在一段时间后重试,它就会工作。 我无法在我的开发环境中重现这种行为,但它发生在生产环境中,让我发疯

任何关于可能导致这种情况的指示都将不胜感激


Thx

如果您使用的是框架,它可能正在读取请求,同时尝试在数据到达控制器之前解析数据。该流只能读取一次。例如,我的项目中使用SpringFramework的默认多部分解析器阻止我为一个特定需求成功实现单独的唯一自定义上载程序。

您可以通过在
应用程序.properties
中设置
Spring.http.multipart.enabled=false来禁用Spring引导多部分支持。这帮助我解决了这个问题

我也面临着同样的问题。你能解决这个问题吗?@Freakyuser,不幸的是没有。这仍然是一个持续的问题。好的,我已经使用JSP完成了控制器的工作。那就好了。列表中包含一个对象。我正好遇到了这个问题。我刚刚将org.springframework.boot添加到一个现有的项目中,我的文件上传servlet开始出现这个问题。把它拿走,它又能工作了。但我想用它。有人知道如何引导spring忽略这个特定的servlet吗?我通过pom.xml添加它,并使用@RestController定义我想要控制的servlet。不知道为什么它在控制其他东西。看起来Boot使用了标准的
StandardServletMultipartResolver
。查看multipartutoconfiguration.java以了解它在做什么。我设法绕过标准的多部分处理(不使用引导)的方法是覆盖
commonmultipartresolver
中的
isMultipart
,在您的例子中
StandardServletMultipartResolver
为我想要以不同方式处理的URI返回false。也许你也可以这样做。更好的是,如果您从未使用标准的多部分处理,请了解如何覆盖
多部分自动配置
以不设置特殊的多部分解析器。