springboot如何配置上传文件的maxRequestSize

 更新时间:2022年03月24日 17:07:22   作者:春雨如约而来  
这篇文章主要介绍了springboot如何配置上传文件的maxRequestSize,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

配置上传文件的maxRequestSize

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

在application.properties中的配置为

SpringBoot-2.0

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

SpringBoot-1.4

spring.http.multipart.maxFileSize=10Mb
spring.http.multipart.maxRequestSize=100Mb

SpringBoot-1.4之前

multipart.maxFileSize = 10Mb
multipart.maxRequestSize=100Mb

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

springboot 1.5.X系列处理方式

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

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

/**  
     * 文件上传配置  
     * @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

    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

    spring:
      servlet:
        multipart:
          max-file-size: 20MB
          max-request-size: 20MB

maxFileSize 是单个文件大小

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

这就可以了。

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

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

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系列配置

第一种

在配置文件中添加配置

 @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

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

application.yml

    spring:
      servlet:
        multipart:
          max-file-size: 20MB
          max-request-size: 20MB

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

相关文章

  • Java Springboot自动装配原理详解

    Java Springboot自动装配原理详解

    这篇文章主要介绍了详解SpringBoot自动配置原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-10-10
  • SpringMVC超详细讲解视图和视图解析器

    SpringMVC超详细讲解视图和视图解析器

    这篇文章主要介绍了springMVC中的视图与视图解析器,springMVC视图的种类很多,默认有转发视图和重定向视图,本文就每一种视图给大家详细介绍,需要的朋友可以参考下
    2022-06-06
  • Java泛型可行与不可行的原理示例解析

    Java泛型可行与不可行的原理示例解析

    这篇文章主要为大家介绍了Java泛型可行与不可行的原理示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加
    2023-05-05
  • Java实现链表数据结构的方法

    Java实现链表数据结构的方法

    这篇文章主要介绍了Java实现链表数据结构的相关资料,每一个链表都包含多个节点,节点又包含两个部分,一个是数据域(储存节点含有的信息),一个是引用域(储存下一个节点或者上一个节点的地址),需要的朋友可以参考下
    2022-01-01
  • java  自定义注解的实例详解

    java 自定义注解的实例详解

    这篇文章主要介绍了java 自定义注解的实例详解的相关资料,需要的朋友可以参考下
    2017-09-09
  • 使用mybatis-plus分页出现两个Limit的问题解决

    使用mybatis-plus分页出现两个Limit的问题解决

    在使用MyBatis-Plus进行分页查询时,可能会遇到查询SQL中出现两个limit语句的问题,这通常是由于在多个模块中重复引入了MyBatis-Plus的分页插件所导致的,下面就来介绍一下如何解决,感兴趣的可以了解一下
    2024-10-10
  • Java实现的自定义类加载器示例

    Java实现的自定义类加载器示例

    这篇文章主要介绍了Java实现的自定义类加载器,结合具体实例形式分析了java自定义类加载器的原理与具体实现技巧,需要的朋友可以参考下
    2019-07-07
  • 解决java错误:不支持发行版本5

    解决java错误:不支持发行版本5

    这篇文章主要给大家介绍了关于如何解决java错误:不支持发行版本5的相关资料,发行版本5是Java5,已经是十多年前的版本了,现在已经不再被支持,需要的朋友可以参考下
    2023-07-07
  • 一文详解如何更改电脑使用的JDK版本

    一文详解如何更改电脑使用的JDK版本

    我们在日常学习或者工作中,难免会遇到需要使用不同的jdk版本进行开发,这篇文章主要给大家介绍了关于如何更改电脑使用的JDK版本的相关资料,需要的朋友可以参考下
    2024-01-01
  • Java后端实现异步编程的9种方式总结

    Java后端实现异步编程的9种方式总结

    我们日常开发的时候,经常说到异步编程,比如说,在注册接口,我们在用户注册成功时,用异步发送邮件通知用户,那么实现异步编程一共有多少种方式呢,下面小编就来简单讲讲吧
    2025-03-03

最新评论