我可以在一个单独发送的最大数据大小HttpURLConnection是Tomcat多少?请求大小是否有任何限制?
MaxUploadSizeExceededException当我上传大小超过允许的最大值的文件时,会出现异常.我想在出现此异常时显示错误消息(如验证错误消息).如何在Spring 3中处理此异常以执行此类操作?
谢谢.
我有一个Spring MVC网站,有两个不同的页面,有不同的表格来上传不同的文件.其中一个应该有2MB的限制,而另一个应该有50MB的限制.
现在,我在app-config.xml中有这个限制:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes (2097152 B = 2 MB) -->
<property name="maxUploadSize" value="2097152 "/>
</bean>
Run Code Online (Sandbox Code Playgroud)
我可以解决我的主控制器中的maxUploadSize异常:
@Override
public @ResponseBody
ModelAndView resolveException(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception exception) {
ModelAndView modelview = new ModelAndView();
String errorMessage = "";
if (exception instanceof MaxUploadSizeExceededException) {
errorMessage = String.format("El tamaño del fichero debe ser menor de %s", UnitConverter.convertBytesToStringRepresentation(((MaxUploadSizeExceededException) exception)
.getMaxUploadSize()));
} else {
errorMessage = "Unexpected error: " + …Run Code Online (Sandbox Code Playgroud) 我正在使用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,如果这很重要的话.