ads367 / yj_portal star
박정하 박정하 07-15
240715 박정하 파일 업로드 용량 제한
@fb43ee68cdcd9e3351e143e884af1406e9c2ce58
src/main/java/com/takensoft/common/file/service/Impl/FileServiceImpl.java
--- src/main/java/com/takensoft/common/file/service/Impl/FileServiceImpl.java
+++ src/main/java/com/takensoft/common/file/service/Impl/FileServiceImpl.java
@@ -4,9 +4,14 @@
 import com.takensoft.common.file.service.FileService;
 import com.takensoft.common.file.vo.FileVO;
 import com.takensoft.common.util.JWTUtil;
+import com.takensoft.common.util.ResponseData;
 import lombok.RequiredArgsConstructor;
 import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
@@ -15,6 +20,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.charset.Charset;
 import java.nio.file.Paths;
 import java.util.*;
 import java.util.UUID;
@@ -55,6 +61,11 @@
         for (MultipartFile file : multipartFileList) {
             if (file.isEmpty()) {
                 continue;
+            }
+
+            int size = Long.valueOf(file.getSize()).intValue() / 100000;
+            if (size > 200) {
+                return -1;
             }
 
             // 절대 경로 생성
@@ -98,14 +109,14 @@
                     file.transferTo(uploadFile);
                 } catch (IOException e) {
                     e.printStackTrace();
-                    return result;
+                    return 0;
                 }
 
                 // DB등록
                 result += fileDAO.fileInsert(fileVO);
             } catch (IOException e) {
                 e.printStackTrace();
-                return result;
+                return 0;
             }
         }
 
src/main/java/com/takensoft/portal/entDscsnAply/web/EntDscsnAplyController.java
--- src/main/java/com/takensoft/portal/entDscsnAply/web/EntDscsnAplyController.java
+++ src/main/java/com/takensoft/portal/entDscsnAply/web/EntDscsnAplyController.java
@@ -51,6 +51,10 @@
             responseData.setStatus(HttpStatus.OK);
             responseData.setMessage("정상적으로 문의 등록되었습니다.");
             return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
+        } else if(insertResult < 0) {
+            responseData.setStatus(HttpStatus.PAYLOAD_TOO_LARGE);
+            responseData.setMessage("업로드 가능한 파일 용량 제한을 초과했습니다.");
+            return new ResponseEntity<>(responseData, headers, HttpStatus.PAYLOAD_TOO_LARGE);
         } else {
             if (result.containsKey("writeCount") && result.containsKey("lastDatetime")) {
                 responseData.setStatus(HttpStatus.TOO_MANY_REQUESTS);
@@ -131,6 +135,10 @@
             responseData.setStatus(HttpStatus.OK);
             responseData.setMessage("정상적으로 처리되었습니다.");
             return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
+        } else if(result < 0) {
+            responseData.setStatus(HttpStatus.PAYLOAD_TOO_LARGE);
+            responseData.setMessage("업로드 가능한 파일 용량 제한을 초과했습니다.");
+            return new ResponseEntity<>(responseData, headers, HttpStatus.PAYLOAD_TOO_LARGE);
         } else {
             responseData.setStatus(HttpStatus.BAD_REQUEST);
             responseData.setMessage("요청 적용에 실패하였습니다.\n담당자에게 문의하세요.");
src/main/java/com/takensoft/portal/entInfo/web/EntInfoController.java
--- src/main/java/com/takensoft/portal/entInfo/web/EntInfoController.java
+++ src/main/java/com/takensoft/portal/entInfo/web/EntInfoController.java
@@ -66,6 +66,10 @@
             responseData.setMessage("정상적으로 등록 처리되었습니다.");
             responseData.setData(result);
             return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
+        } else if(insertResult < 0) {
+            responseData.setStatus(HttpStatus.PAYLOAD_TOO_LARGE);
+            responseData.setMessage("업로드 가능한 파일 용량 제한을 초과했습니다.");
+            return new ResponseEntity<>(responseData, headers, HttpStatus.PAYLOAD_TOO_LARGE);
         } else {
             responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR);
             responseData.setMessage("등록에 실패하였습니다.\n담당자에게 문의하세요.");
@@ -151,6 +155,10 @@
             responseData.setStatus(HttpStatus.OK);
             responseData.setMessage("정상적으로 기업정보 수정 처리되었습니다.");
             return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
+        } else if(result < 0) {
+            responseData.setStatus(HttpStatus.PAYLOAD_TOO_LARGE);
+            responseData.setMessage("업로드 가능한 파일 용량 제한을 초과했습니다.");
+            return new ResponseEntity<>(responseData, headers, HttpStatus.PAYLOAD_TOO_LARGE);
         } else {
             responseData.setStatus(HttpStatus.BAD_REQUEST);
             responseData.setMessage("기업정보 등록 실패하였습니다.\n담당자에게 문의하세요.");
src/main/java/com/takensoft/portal/ivstDscsn/web/IvstDscsnController.java
--- src/main/java/com/takensoft/portal/ivstDscsn/web/IvstDscsnController.java
+++ src/main/java/com/takensoft/portal/ivstDscsn/web/IvstDscsnController.java
@@ -52,6 +52,10 @@
             responseData.setMessage("정상적으로 투자상담 등록되었습니다.");
             responseData.setData(result);
             return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
+        } else if(insertResult < 0) {
+            responseData.setStatus(HttpStatus.PAYLOAD_TOO_LARGE);
+            responseData.setMessage("업로드 가능한 파일 용량 제한을 초과했습니다.");
+            return new ResponseEntity<>(responseData, headers, HttpStatus.PAYLOAD_TOO_LARGE);
         } else {
             responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR);
             responseData.setMessage("투자상담 등록에 실패하였습니다.\n담당자에게 문의하세요.");
@@ -126,6 +130,10 @@
             responseData.setStatus(HttpStatus.OK);
             responseData.setMessage("정상적으로 투자상담 수정 처리되었습니다.");
             return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
+        } else if(result < 0) {
+            responseData.setStatus(HttpStatus.PAYLOAD_TOO_LARGE);
+            responseData.setMessage("업로드 가능한 파일 용량 제한을 초과했습니다.");
+            return new ResponseEntity<>(responseData, headers, HttpStatus.PAYLOAD_TOO_LARGE);
         } else {
             responseData.setStatus(HttpStatus.BAD_REQUEST);
             responseData.setMessage("투자상담 수정에 실패하였습니다.\n담당자에게 문의하세요.");
src/main/java/com/takensoft/portal/rvwMttr/web/RvwMttrController.java
--- src/main/java/com/takensoft/portal/rvwMttr/web/RvwMttrController.java
+++ src/main/java/com/takensoft/portal/rvwMttr/web/RvwMttrController.java
@@ -54,6 +54,10 @@
             responseData.setMessage("정상적으로 검토사항 등록 처리되었습니다.");
             responseData.setData(result);
             return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
+        } else if(insertResult < 0) {
+            responseData.setStatus(HttpStatus.PAYLOAD_TOO_LARGE);
+            responseData.setMessage("업로드 가능한 파일 용량 제한을 초과했습니다.");
+            return new ResponseEntity<>(responseData, headers, HttpStatus.PAYLOAD_TOO_LARGE);
         } else {
             responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR);
             responseData.setMessage("검토사항 등록에 실패하였습니다.\n담당자에게 문의하세요.");
Add a comment
List