springboot文件上传时maxPostSize设置大小失效问题及解决

 更新时间:2023年07月18日 16:33:52   作者:DRNB666  
这篇文章主要介绍了springboot文件上传时maxPostSize设置大小失效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot文件上传时maxPostSize设置大小失效

报错信息

Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector

Caused by: java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector

该配置尝试无效,百度说是版本问题,核对过后发现无误

servlet:
    multipart:
      enabled: true
      max-file-size: 1000MB
      max-request-size: 1000MB

解决办法

因为我这里上传是传图片,图片以base64形式携带在请求参数中,form表单的形式提交,故怀疑可能是请求参数大小被限制了,于是添加以下配置

#注意这是server!!不是上面的servlet,别看错了。。。
server:
  tomcat:
    max-http-post-size: 100MB  #请求参数长度
    max-http-form-post-size: 100MB #form表单长度

重启解决

springboot设置文件上传大小限制

问题

SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常:

org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.

解决方法

第一种解决方案:

增加Bean配置,注意当前类上需要加注解@Configuration,不然扫不到就不会起作用了;一般配置放在启动类中就可以。

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

第二种解决方案:

在配置文件(application.properties/application.yml)中加入如下设置即可:

# 单个文件大小(Mb和Kb都可以)
spring.servlet.multipart.maxFileSize=30MB
# 总上传的数据大小
spring.servlet.multipart.maxRequestSize=30MB

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈springboot 属性定义

    浅谈springboot 属性定义

    本篇文章主要介绍了浅谈springboot 属性定义,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • SpringBoot整合阿里云短信服务的方法

    SpringBoot整合阿里云短信服务的方法

    在实际项目中经常有发送短信的功能,今天进说一下SpringBoot整合阿里云短信服务的相关知识,新建短信微服务,编写发送短信接口的方法文中给大家介绍的很详细,需要的朋友参考下吧
    2021-10-10
  • maven模块化开发部署实现方案

    maven模块化开发部署实现方案

    有些用户有定制化需求,需要添加新的模块功能,因此需要平台主体功能迭代的同时,非主体功能和定制化功能插件化,本文给大家介绍maven模块化开发部署实现方案,感兴趣的朋友一起看看吧
    2024-01-01
  • J2EE项目代码编写规范分享

    J2EE项目代码编写规范分享

    这篇文章主要介绍了J2EE项目代码编写规范分享,需要的朋友可以参考下
    2014-10-10
  • SpringBoot利用ThreadPoolTaskExecutor批量插入百万级数据的具体实现

    SpringBoot利用ThreadPoolTaskExecutor批量插入百万级数据的具体实现

    ThreadPoolTaskExecutor是Spring提供的任务执行器实现之一,允许开发者配置线程池参数以适应不同的应用场景,创建 ThreadPoolTaskExecutor 实例并设置核心和最大线程数等属性可以优化性能,本文介绍了SpringBoot利用ThreadPoolTaskExecutor批量插入百万级数据的具体实现
    2024-12-12
  • Springboot集成graylog及配置过程解析

    Springboot集成graylog及配置过程解析

    这篇文章主要介绍了Springboot集成graylog及配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • MDC在多线程中的使用方式

    MDC在多线程中的使用方式

    这篇文章主要介绍了MDC在多线程中的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Spring IOC与DI核心深入理解

    Spring IOC与DI核心深入理解

    IOC也是Spring的核心之一了,之前学的时候是采用xml配置文件的方式去实现的,后来其中也多少穿插了几个注解,但是没有说完全采用注解实现。那么这篇文章就和大家分享一下,全部采用注解来实现IOC+DI
    2023-02-02
  • springboot日期格式化全局LocalDateTime详解

    springboot日期格式化全局LocalDateTime详解

    文章主要分析了Spring Boot中ObjectMapper对象的序列化和反序列化过程,并具体探讨了日期格式化问题,通过分析Spring Boot的自动配置类JacksonAutoConfiguration,文章详细说明了ObjectMapper对象的创建和配置过程
    2025-02-02
  • Java复制文件常用的三种方法

    Java复制文件常用的三种方法

    今天小编就为大家分享一篇关于Java复制文件常用的三种方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03

最新评论