SpringBoot:修改上传文件大小的限制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29229567/article/details/84939996

SpringBoot:修改上传文件大小的限制

Spring Boot默认文件上传大小为2M,当多文档,大文档上传时总是出现文件大小超出限度的问题。解决方法如下:

方法一、在application.properties添加配置项

# Single file max size  即单个文件大小
multipart.maxFileSize=50Mb
# All files max size      即总上传的数据大小
multipart.maxRequestSize=50Mb

方法二、在启动类中添加配置Bean

import javax.servlet.MultipartConfigElement;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


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

在上述两种方法中,设置大小时,Long,Kb,MB均可!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());
    }

注意:上面的设置仅针对后台,在具体的项目中可能还需要在前端中进行相应的设置,比如:Nginx。

猜你喜欢

转载自blog.csdn.net/qq_29229567/article/details/84939996