springboot 附件上传超限

项目使用的是Spring Boot 、Spring Cloud,上传附件报超出自带tomacat限制大小(默认1M)

org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException

解决方案
(1)在配置文件(application.properties)加入如下代码

spring.http.spring.servlet.multipart.maxFileSize = 10Mb
spring.http.spring.servlet.multipart.maxRequestSize=100Mb
 maxFileSize 单个数据大小 
 maxRequestSize 是总数据大小

(2)把如下代码放在启动类上,并在类上加入@Configuration

	@Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //  单个数据大小
        factory.setMaxFileSize("10240KB"); // KB,MB
        /// 总上传数据大小
        factory.setMaxRequestSize("102400KB");
        return factory.createMultipartConfig();
    }

PS:若是有网关之类的中转,需在网关中也加入如上配置。
在SpringBoot项目中,
配置spring.http.multipart.maxFileSize用于限定最大文件上传大小。
但是,SpringBoot版本不同,关于这一块的配置也不相同。
(1)(1)、Spring Boot 1.3 版本:

multipart.maxFileSize

(1)(2)、Spring Boot 1.4 版本和 1.5 版本:

spring.http.multipart.maxFileSize

(1)(3)、Spring Boot 2.0 版本:

spring.servlet.multipart.maxFileSize

以上,要注意1.4、1.5版本和2.0版本的区别,不然会一直提示无效。
(1)(4)、application.yml 配置示例:

spring:
  servlet:
    multipart:
      enabled: true
      max-file-size: -1

你可能感兴趣的:(Java)