首页 > 其他分享 >springboot出现MaxUploadSizeExceededException 异常

springboot出现MaxUploadSizeExceededException 异常

时间:2023-01-03 16:02:30浏览次数:66  
标签:MaxUploadSizeExceededException springboot tomcat 异常 multipart 上传 size

写springboot项目上传图片遇到MaxUploadSizeExceededException 异常,找到一篇文章完美解决

Spring Boot 默认上传文件大小限制是 1MB,默认单次请求大小是 10MB,超出大小会跑出 MaxUploadSizeExceededException 异常。

问题来了,当文件超过 1M 和超过 10M 时异常是有区别的,这也是本文所说的重点。

问题
当上传文件超过 10M 后自己写的全局异常处理@ControllerAdvice类竟然无法捕获 MaxUploadSizeExceededException 异常,页面直接 500 错误了。注册的 @ExceptionHandler(MaxUploadSizeExceededException.class) 的异常处理方法进不来。

文件超 1M 但小于 10M 时的异常信息:

Resolved [org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.]
  • 1

文件超 10M 的异常信息:

Resolved [org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (12209424) exceeds the configured maximum (10485760)]
  • 1

解决方案
原文地址:https://weiku.co/article/198/

微酷在国内各网站搜了半天没发现一个真是解决问题的文章,不担心,每每此时国外网站Google一下总能找到解决方案,来自stackoverflow的解决方案,大家了解下。

spring.servlet.multipart.max-file-size = 50MB
spring.servlet.multipart.max-request-size = 50MB
server.tomcat.max-swallow-size = 100MB # 最重要的是这一行

注意上面最重要的是要配置内嵌的 tomcat 的最大吞吐量即 max-swallow-size,可以设置 -1 不限制,也可以设置一下比较大的数字这里微酷设置 100M。当上传文件超 tomcat 的大小限制后会先于 Controller 触发异常,所以这时我们的异常处理类无法捕获 Controller 层的异常。

这样当上传文件超大小限制后就可以被全局异常处理类捕获了。

参考文档
https://weiku.co/article/198/
https://stackoverflow.com/questions/2689989/how-to-handle-maxuploadsizeexceededexception

标签:MaxUploadSizeExceededException,springboot,tomcat,异常,multipart,上传,size
From: https://www.cnblogs.com/csnjava/p/17022494.html

相关文章

  • java 通用工具类异常
    /***工具类异常**@authorruoyi*/publicclassUtilExceptionextendsRuntimeException{privatestaticfinallongserialVersionUID=8247610319171......
  • SpringBoot 批量大文件上传下载
    ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上......
  • spring项目中添加@Transactional注解后出现NoSuchBeanDefinitionException异常的解决
    https://blog.csdn.net/qq_37059367/article/details/83145779数据库配置文件中修改配置文件里这一句<tx:annotation-driventransaction-manager="transactionManager"/......
  • 学习笔记之在免费服务器上运行springboot程序
    因为项目需求,了解到了这个sanfengyun网站,可以申请免费虚拟主机和免费云服务器。申请到免费云服务器后,可以看到自己的控制台主页里有所有的信息。(其中网址如下图所示)idea......
  • cereas学习(3-2) 稳健的曲线拟合 y=e(0.3x+0.1) 加了高斯噪声0.2 还有额外异常值
    稳健的曲线拟合¶现在假设我们得到的数据有一些异常值,即我们有一些不服从噪声模型的点。如果我们使用上面的代码来拟合这些数据,我们将得到如下所示的拟合。注意拟合曲线如......
  • 异常
    异常Error无限循环选中代码ctrl+alt+t创建环绕方式java定义好的一堆异常类型多个catch的调用时,顺序要从小到大自动创建的throw会抛出和当前错误信息finally......
  • 基于Springboot+SSM框架旅游系统项目开发与设计(附源码资料)-毕业设计
    1.项目简介这是一个Springboot旅游网站管理系统,管理员角色包含以下功能:管理员登录,用户管理,旅游路线管理,旅游景点管理,酒店管理,旅游攻略管理,车票管理,订单管理,数据分......
  • ASP.NETCore异常Filter
    什么是FILTER1、切面编程机制,在ASP.NETCore特定的位置执行我们自定义的代码2、ASP.NETCore中的Filter的五种类型:Authorizationfilter、Resourcefilter、Actionfilter、E......
  • Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
    一、为啥整合Dubbo实现SOADubbo不单单只是高性能的RPC调用框架,更是SOA服务治理的一种方案。核心:1.远程通信,向本地调用一样调用远程方法。2.集群容错3.服务自动发......
  • springboot @WebServlet为什么能生效
    示意图简述1. springboot启动类通过注解@ServletComponentScan,注入了指定的BeanFactoryPostProcessor,用来扫描@WebServlet等指定的类,将扫描到的LoginServlet类作......