Springboot 捕获办不到 FileSizeLimitExceededException
时间: 2023-08-14 18:07:21 浏览: 197
springboot全局捕获异常
Spring Boot 默认使用了 Tomcat 容器,而 Tomcat 中的 multipart 解析器默认会在处理上传文件时限制上传文件大小,如果上传的文件大小超过了这个限制,就会抛出 `FileSizeLimitExceededException` 异常。
要捕获这个异常,可以在 Spring Boot 项目的配置文件中添加如下配置:
```
spring:
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
```
其中,`max-file-size` 和 `max-request-size` 分别表示上传文件的最大大小和请求的最大大小,单位为字节。如果上传的文件大小超过了 `max-file-size`,就会抛出 `FileSizeLimitExceededException` 异常。
在代码中捕获这个异常,可以在 Controller 中添加 `@ExceptionHandler` 注解:
```java
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(FileSizeLimitExceededException.class)
public Result handleFileSizeLimitExceededException(FileSizeLimitExceededException e) {
return Result.fail("上传文件大小超过限制");
}
}
```
这样,当上传文件大小超过限制时,就会返回一个错误提示信息。
阅读全文