From 22afbcb0933e4efc77b1abac5b8d94852b638493 Mon Sep 17 00:00:00 2001 From: khj0414 Date: Fri, 24 Jan 2025 14:29:35 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=95=84=20=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/company/localhost/common/config/WebMvcConfig.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/io/company/localhost/common/config/WebMvcConfig.java b/src/main/java/io/company/localhost/common/config/WebMvcConfig.java index 28acccc..2d8d0c5 100644 --- a/src/main/java/io/company/localhost/common/config/WebMvcConfig.java +++ b/src/main/java/io/company/localhost/common/config/WebMvcConfig.java @@ -41,6 +41,9 @@ public class WebMvcConfig implements WebMvcConfigurer { @Value("${filePath.boardfile}") private String boardFilePath; + + @Value("${filePath.profile}") + private String uploadPath; @Override public void addInterceptors(InterceptorRegistry registry) { @@ -58,6 +61,9 @@ public class WebMvcConfig implements WebMvcConfigurer { //게시판 에디터 안 이미지 업로드 경로 registry.addResourceHandler("/upload/img/board/**") .addResourceLocations("file:" + boardFilePath); + //프로필 이미지 업로드 경로 + registry.addResourceHandler("/upload/img/profile/**") + .addResourceLocations("file:" + uploadPath); } // Controller의 파라미터를 처리할 Resolver 등록 From dce245ab713ae0ae473f4816b12371e2e13af8e4 Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Fri, 24 Jan 2025 14:44:47 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EC=9A=A9=EB=9F=89?= =?UTF-8?q?=EC=A0=9C=ED=95=9C=EA=B2=80=EC=82=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../localhost/service/localbordService.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/company/localhost/service/localbordService.java b/src/main/java/io/company/localhost/service/localbordService.java index a06495d..71e4b77 100644 --- a/src/main/java/io/company/localhost/service/localbordService.java +++ b/src/main/java/io/company/localhost/service/localbordService.java @@ -23,6 +23,7 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public class localbordService { private final localbordMapper boardMapper; + private static final long MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB public List getNotices(MapDto map) { List posts = boardMapper.getNotices(map); @@ -55,13 +56,28 @@ public class localbordService { boardMapper.createBoard(map); return (BigInteger) map.get("LOCBRDSEQ"); } + + public void addAttachment(MapDto map) { + String boardSeqStr = (String) map.get("CMNBRDSEQ"); + Long boardSeq = Long.parseLong(boardSeqStr); + map.put("CMNBRDSEQ", boardSeq); + + String newFilename = UUID.randomUUID().toString(); + map.put("CMNFLENAM", newFilename); - public void addAttachment(MapDto map) { - String newFilename = UUID.randomUUID().toString(); - map.put("CMNFLENAM", newFilename); boardMapper.addAttachment(map); } + public void validateAttachmentsSize(List attachments) { + long totalSize = attachments.stream() + .mapToLong(attachment -> (Long) attachment.get("size")) + .sum(); + + if (totalSize > MAX_FILE_SIZE) { + throw new IllegalArgumentException("첨부파일의 총 용량이 5MB를 초과합니다."); + } + } + public MapDto getBoardDetail(Long boardId) { incrementViewCount(boardId); MapDto boardDetail = boardMapper.selectBoardDetail(boardId);