From 7b09f233bde70508f6db7e08e983e9a2c4bb3e99 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期五, 11 八月 2023 17:50:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
index e34b0d1..cc99c2d 100644
--- a/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
+++ b/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
@@ -1,11 +1,15 @@
package com.yuanchu.mom.handler;
+import com.yuanchu.mom.exception.MyFileException;
import com.yuanchu.mom.vo.Result;
import lombok.extern.slf4j.Slf4j;
+import org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException;
+import org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException;
import org.springframework.beans.ConversionNotSupportedException;
import org.springframework.beans.TypeMismatchException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;
@@ -14,6 +18,7 @@
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.multipart.MultipartException;
import javax.servlet.http.HttpServletResponse;
import java.io.FileNotFoundException;
@@ -230,6 +235,35 @@
return Result.fail(message);
}
+ @Value("${spring.servlet.multipart.max-file-size}")
+ private String maxFileSize;
+
+ @Value("${spring.servlet.multipart.max-request-size}")
+ private String maxRequestSize;
+
+ /**
+ *鏂囦欢杩囧ぇ鎶ラ敊鎻愮ず
+ */
+ @ExceptionHandler({MultipartException.class})
+ public Result<?> fileUploadExceptionHandler(MultipartException e) {
+ String msg;
+ Throwable rootCause = e.getRootCause();
+ if (rootCause instanceof FileSizeLimitExceededException) {
+ msg="涓婁紶鏂囦欢杩囧ぇ銆愬崟涓枃浠跺ぇ灏忎笉寰楄秴杩�" + maxFileSize + "銆�";
+ }else if(rootCause instanceof SizeLimitExceededException){
+ msg="涓婁紶鏂囦欢杩囧ぇ銆愭�讳笂浼犲ぇ灏忎笉寰楄秴杩�" + maxRequestSize + "銆�";
+ }else {
+ msg="鏂囦欢涓婁紶澶辫触銆愭湇鍔″櫒寮傚父銆�";
+ }
+ return Result.fail(msg);
+ }
+
+ /** 鏂囦欢鍚庣紑鍚嶄笉閫氳繃杩斿洖鎻愮ず */
+ @ExceptionHandler({MyFileException.class})
+ public Result<?> myFileException(Exception e) {
+ return Result.fail("鎶辨瓑涓嶆敮鎸併��" + e.getMessage() +"銆戝悗缂�鐨勬枃浠讹紒");
+ }
+
/** 鍏朵粬閿欒 */
/**
* 鍏朵粬閿欒
--
Gitblit v1.9.3