Wim*_*uwe 5 spring spring-mvc jquery-file-upload spring-boot
我正在使用Spring Boot 1.1.3 CommonsMultipartResolver来允许一次上传多个文件.
当我尝试上传大于1 MB的文件时,我得到了这个堆栈跟踪:
Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException:
The field files[] exceeds its maximum permitted size of 1048576 bytes.
at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl$1.raiseError(FileUploadBase.java:637)
at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.checkLimit(LimitedInputStream.java:76)
at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:135)
at java.io.FilterInputStream.read(FilterInputStream.java:107)
Run Code Online (Sandbox Code Playgroud)
我尝试设置这样的最大上传大小:
public MultipartResolver multipartResolver()
{
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setMaxUploadSize( 100 * MEGABYTE_IN_BYTES );
return resolver;
}
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.我已经找到了关于upoading文件的Spring指南,他们在那里使用了MultipartConfigFactory.但是,我现在需要使用MultipartFile该类而不是MultipartHttpServletRequest在我的控制器中.
随着MultipartHttpServletRequest我能做getFileMap()得到的所有文件,但上没有这样的方法MultipartFile.
有关如何使用MultipartConfigFactory和多个文件的任何想法?我在客户端上使用jquery-file-upload,如果这很重要的话.
增加上传限制的正确方法是
multipart.maxFileSize=10Mb
在application.properties文件中设置属性.你可以在这里阅读更多关于这个主题的信息
/sf/answers/1894356271/
和这里的
MultipartProperties.java
看来控制器中不需要使用MultipartFile,也可以使用MultipartHttpServletRequest. 这是我带注释的类的签名@RestController:
@RequestMapping(value = "/{datasheetId}/addDoc", method = RequestMethod.POST)
@Secured(ROLE_USER)
public ResponseEntity<?> addDocumentToDatasheet( Principal principal,
@PathVariable("datasheetId") long datasheetId,
MultipartHttpServletRequest request ) throws IOException
{
Map<String, MultipartFile> fileMap = request.getFileMap();
// handle fileMap further...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7224 次 |
| 最近记录: |