好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

springboot如何配置上传文件的maxRequestSize

配置上传文件的maxRequestSize

springboot配置上传文件的maxRequestSize,根据boot版本的不同会 有些差别,设置时,是相当坑的,一不注意就白设了

在application.properties中的配置为

SpringBoot-2.0

?

1

2

spring.servlet.multipart.max-file-size=10Mb

spring.servlet.multipart.max-request-size=100Mb

SpringBoot-1.4

?

1

2

spring.http.multipart.maxFileSize=10Mb

spring.http.multipart.maxRequestSize=100Mb

SpringBoot-1.4之前

?

1

2

multipart.maxFileSize = 10Mb

multipart.maxRequestSize=100Mb

设置上传文件大小的两种方法

springboot 1.5.X系列处理方式

第一种、直接在springboot的启动类里加入下面的代码。

在配置类中配置@Bean,注意当前配置类上需要加注解@Configuration

?

1

2

3

4

5

6

7

8

9

10

11

12

13

/**  

      * 文件上传配置  

      * @return  

      */

    @Bean

    public MultipartConfigElement multipartConfigElement() {  

        MultipartConfigFactory factory = new MultipartConfigFactory();  

        //文件最大  

        factory.setMaxFileSize( "10240KB" ); //KB,MB  

        /// 设置总上传数据总大小  

        factory.setMaxRequestSize( "102400KB" );  

        return factory.createMultipartConfig();  

    }  

第二种、在application.properties中添加如下配置信息

配置文件直接配置,与springboot2.x版本一致

application.properties

?

1

2

    spring.servlet.multipart.max-file-size=20MB

    spring.servlet.multipart.max-request-size=20MB

注意

spring.http.multipart.maxFileSize=10Mb

spring.http.multipart.maxRequestSize=10Mb

已经过期 >>>>

application.yml

?

1

2

3

4

5

     spring:

       servlet:

         multipart:

           max-file-size: 20MB

           max-request-size: 20MB

maxFileSize 是单个文件大小

maxRequestSize是设置总上传的数据大小

这就可以了。

根据自己需求定义吧,只能是MB和KB两种类型,字母大小写随意,Long类型可以的

另外这是MultipartConfigFactory类中的转换,可以瞅一眼

?

1

2

3

4

5

6

7

8

9

private long parseSize(String size) {  

      Assert.hasLength(size, "Size must not be empty" );

        size = size.toUpperCase(Locale.ENGLISH);

        if (size.endsWith( "KB" )) {

            return Long.valueOf(size.substring( 0 , size.length() - 2 )) * 1024L;

        } else {

            return size.endsWith( "MB" ) ? Long.valueOf(size.substring( 0 , size.length() - 2 )) * 1024L * 1024L : Long.valueOf(size);

        }

   } 

Springboot 2.X系列配置

第一种

在配置文件中添加配置

?

1

2

3

4

5

6

7

8

9

  @Bean

    public MultipartConfigElement multipartConfigElement() {

        MultipartConfigFactory factory = new MultipartConfigFactory();

        //文件最大10M,DataUnit提供5中类型B,KB,MB,GB,TB

        factory.setMaxFileSize(DataSize.of( 10 , DataUnit.MEGABYTES));

        /// 设置总上传数据总大小10M

        factory.setMaxRequestSize(DataSize.of( 10 , DataUnit.MEGABYTES));

        return factory.createMultipartConfig();

    }

第二种

配置文件直接配置

application.properties

?

1

2

    spring.servlet.multipart.max-file-size=20MB

    spring.servlet.multipart.max-request-size=20MB

application.yml

?

1

2

3

4

5

     spring:

       servlet:

         multipart:

           max-file-size: 20MB

           max-request-size: 20MB

最后:Tomcat,Nginx等Http服务器也会对文件上传做一定的限制,额,反正具体问题具体分析。以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文链接:https://HdhCmsTestcnblogs测试数据/ncyhl/p/11212679.html

查看更多关于springboot如何配置上传文件的maxRequestSize的详细内容...

  阅读:16次