Springboot文件上传出现的文件过大异常

异常类似于下面

HTTP Status 500 - Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.

有两种解决办法

  • 在application.propertie配置
  • 在Application.class类中配置

第一种方法:(但是测试当中别没有解决问题,没有找到是哪里的原因)

spring3.0写法
multipart.maxFileSize=10Mb  
multipart.maxRequestSize=10Mb  
spring3.1写法
spring.http.multipart.maxFileSize=10MB  
spring.http.multipart.maxRequestSize=10MB  

第二种方法:(测试完美解决问题)

public class XXXApplication{
    public static void main(String[] args) {
        SpringApplication.run(ToutiaoApplication.class, args);
    }
    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //单个文件最大
        factory.setMaxFileSize("10MB"); //KB,MB
        /// 设置总上传数据总大小
        factory.setMaxRequestSize("10MB");
        return factory.createMultipartConfig();
    }
}

最后补充一点:要将标签当中enctype属性设置为multipart/form-data,这样会告诉浏览器以multipart数据的形式提交表单,而不是以表单数据的形式进行提交。在multipart中,每个输入域都会对应一个part.
个输都会对应一个part.

你可能感兴趣的:(spring-boot)