From 653cbd6bc42565dbdcc7fdbe652874738b1908df Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期二, 25 七月 2023 15:32:34 +0800
Subject: [PATCH] LIMS管理系统框架-开发7-25标准库修改前

---
 framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
index 0dd0dfd..976777b 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
@@ -1,16 +1,22 @@
 package com.yuanchu.limslaboratory.handler;
 
+import com.yuanchu.limslaboratory.exception.MyFileException;
+import com.yuanchu.limslaboratory.utils.MyUtil;
 import com.yuanchu.limslaboratory.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.Value;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.http.converter.HttpMessageNotReadableException;
 import org.springframework.http.converter.HttpMessageNotWritableException;
 import org.springframework.jdbc.BadSqlGrammarException;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.multipart.MultipartException;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -20,6 +26,13 @@
 @Slf4j
 @RestControllerAdvice
 public class GlobalExceptionHandler {
+
+    @Value("${spring.servlet.multipart.max-file-size}")
+    private String maxFileSize;
+
+    @Value("${spring.servlet.multipart.max-request-size}")
+    private String maxRequestSize;
+
     @ExceptionHandler(SQLException.class)
     public Result<?> handlerSQLException(SQLException e)
     {
@@ -155,6 +168,29 @@
         return Result.fail("闄ゆ暟涓嶈兘涓�0寮傚父");
     }
 
+    /**
+     *鏂囦欢杩囧ぇ鎶ラ敊鎻愮ず
+     */
+    @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() +"銆戝悗缂�鐨勬枃浠讹紒");
+    }
+
     /** 鍏朵粬閿欒 */
     @ExceptionHandler({Exception.class})
     public Result<?> exception(Exception e) {

--
Gitblit v1.9.3