轉自:https://blog.csdn.net/shi0299/article/details/69525848
springboot上傳文件大小的配置有兩種,一種是設置在配置文件里只有兩行代碼,一種是加個Bean。
第一種:
application.properties中添加
spring.http.multipart.maxFileSize=10Mbspring.http.multipart.maxRequestSize=10Mb
maxFileSize 是單個文件大小,
maxRequestSize是設置總上傳的數據大小,
這就可以了。根據自己需求定義吧,Mb和Kb都可以,大小寫也都隨意,Long字節應該可以的
另外這是MultipartConfigFactory類中的轉換,可以瞅一眼
private long parseSize(String size) {Assert.hasLength(size, "Size must not be empty");size = size.toUpperCase();return size.endsWith("KB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L:(size.endsWith("MB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L * 1024L:Long.valueOf(size).longValue());}
第二種:
增加Bean配置,注意當前類上需要加注解@Configuration,不然掃不到就不會起作用了。
/*** 文件上傳配置* @return*/@Beanpublic MultipartConfigElement multipartConfigElement() {MultipartConfigFactory factory = new MultipartConfigFactory();//文件最大factory.setMaxFileSize("10240KB"); //KB,MB/// 設置總上傳數據總大小factory.setMaxRequestSize("102400KB");return factory.createMultipartConfig();}
一般配置放在啟動類中就可以。
import javax.servlet.MultipartConfigElement;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.servlet.MultipartConfigFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configuration@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })public class Application {protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(Application.class);}public static void main(String[] args) {try {SpringApplication.run(Application.class, args);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}@Beanpublic MultipartConfigElement multipartConfigElement() {MultipartConfigFactory factory = new MultipartConfigFactory();//文件最大factory.setMaxFileSize("1024MB"); //KB,MB//設置總上傳數據總大小factory.setMaxRequestSize("102400MB");return factory.createMultipartConfig();}}
