文件上传过大被限制问题-springboot

第一种:
1、创建配置文件。

import javax.servlet.MultipartConfigElement;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class FileConfig {

@Value("${spring.server.MaxFileSize}")
private String MaxFileSize;
@Value("${spring.server.MaxRequestSize}")
private String MaxRequestSize;

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

}

2、然后再在application.properties中进行配置

#文件请求大小
spring.server.MaxFileSize=1000MB
spring.server.MaxRequestSize=1000MB

第二种:
1、在启动类添加如下代码:

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

2、根据spring boot 版本不同在application.properties文件添加不同的配置
Spring Boot 1.3 或之前的版本,配置:

    multipart.maxFileSize = 500Mb
    multipart.maxRequestSize=500Mb

Spring Boot 1.4 版本后配置更改为:

    spring.http.multipart.maxFileSize = 500Mb
    spring.http.multipart.maxRequestSize = 500Mb

Spring Boot 2.0 之后的版本配置修改为: 单位Mb改为MB了:

    spring.servlet.multipart.max-file-size = 500MB
    spring.servlet.multipart.max-request-size = 500MB

multipart.maxFileSize=50Mb是设置单个文件的大小,
multipart.maxRequestSize=500Mb是设置单次请求的文件的总大小
如果是想要不限制文件上传的大小,那么就把两个值都设置为-1。

第三种:
也就是Spring Boot 2.0 之后的版本,直接在application.properties配置修改为:

spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB

你可能感兴趣的