我有一个Spring-boot应用程序版本1.3.3.RELEASE正在运行Spring 4.2.5.RELEASE
下面我有一些我试图解决这个问题的项目。我的问题:
我正在尝试接受超过1MB的Multipart文件。我已经配置了看似合适的配置
# Spring http settings
spring.http.multipart.max-file-size=11MB
spring.http.multipart.max-request-size=11MB
不幸的是,这似乎没有任何影响:
org.apache.tomcat.util.http.fileupload.FileUploadBase $ FileSizeLimitExceededException: 字段文件超出了允许的最大大小1048576字节。
此时似乎没有超过Tomcat。经过一番研究后,我尝试添加自己的多部分解析器。
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(10 * 1024 * 1024);
multipartResolver.setMaxUploadSizePerFile(10 * 1024 * 1024);
return new CommonsMultipartResolver();
}
这会返回一个新的错误,让我难以理解:
请求处理失败;嵌套异常是 org.springframework.web.multipart.MultipartException:无法解析 多部分servlet请求;嵌套异常是 org.apache.commons.fileupload.FileUploadException:Stream closed
我的请求如下:
curl -X POST \
/application/75dc9981-61ac-4fa0-b316-790b764230a3/pending \
-H 'cache-control: no-cache' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F files=@/Users/paulscoder/Documents/sticky_phalcon_header.gif
我的请求映射如下所示:
@RequestMapping(
value = "/application/{applicationId}/pending",
method = POST)
public ResponseEntity<?> uploadFiles(
@PathVariable("applicationId") UUID applicationId,
@RequestParam(value = "docId", required = false) String docId,
@RequestParam(value = "type", required = false) String type,
@RequestParam(value = "files") MultipartFile[] files) throws Exception {...