From 59d97619dd2d8ed1e2bc078f1282157ccad2cfdb Mon Sep 17 00:00:00 2001 From: SeoJin Kim Date: Tue, 18 May 2021 06:12:19 +0900 Subject: [PATCH] =?UTF-8?q?[Spring][=EC=87=BC=ED=95=91=EB=AA=B0=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8][24]=20=EC=83=81=ED=92=88?= =?UTF-8?q?=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=97=85=EB=A1=9C=EB=93=9C(?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=A0=95=EB=B3=B4=20=EB=B7=B0=20?= =?UTF-8?q?=EB=B0=98=ED=99=98=20-=202)=20-=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://kimvampa.tistory.com/221 --- .../com/vam/controller/AdminController.java | 23 +++++++++++++++--- .../WEB-INF/views/admin/goodsEnroll.jsp | 5 +++- .../com/vam/controller/AdminController.java | 24 +++++++++++++++---- .../WEB-INF/views/admin/goodsEnroll.jsp | 5 +++- 4 files changed, 48 insertions(+), 9 deletions(-) diff --git a/VamPa/src/main/java/com/vam/controller/AdminController.java b/VamPa/src/main/java/com/vam/controller/AdminController.java index 4f110bb..0543f42 100644 --- a/VamPa/src/main/java/com/vam/controller/AdminController.java +++ b/VamPa/src/main/java/com/vam/controller/AdminController.java @@ -3,6 +3,7 @@ package com.vam.controller; import java.awt.image.BufferedImage; import java.io.File; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; @@ -12,6 +13,9 @@ import javax.imageio.ImageIO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -23,6 +27,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.vam.model.AttachImageVO; import com.vam.model.AuthorVO; import com.vam.model.BookVO; import com.vam.model.Criteria; @@ -272,8 +277,8 @@ public class AdminController { } /* 첨부 파일 업로드 */ - @PostMapping("/uploadAjaxAction") - public void uploadAjaxActionPOST(MultipartFile[] uploadFile) { + @PostMapping(value="/uploadAjaxAction", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) + public ResponseEntity> uploadAjaxActionPOST(MultipartFile[] uploadFile) { logger.info("uploadAjaxActionPOST.........."); String uploadFolder = "C:\\upload"; @@ -294,14 +299,23 @@ public class AdminController { uploadPath.mkdirs(); } + /* 이미저 정보 담는 객체 */ + List list = new ArrayList(); + // 향상된 for for(MultipartFile multipartFile : uploadFile) { + /* 이미지 정보 객체 */ + AttachImageVO vo = new AttachImageVO(); + /* 파일 이름 */ String uploadFileName = multipartFile.getOriginalFilename(); + vo.setFileName(uploadFileName); + vo.setUploadPath(datePath); /* uuid 적용 파일 이름 */ String uuid = UUID.randomUUID().toString(); + vo.setUuid(uuid); uploadFileName = uuid + "_" + uploadFileName; @@ -357,10 +371,13 @@ public class AdminController { } - + list.add(vo); } //for + ResponseEntity> result = new ResponseEntity>(list, HttpStatus.OK); + + return result; } } diff --git a/VamPa/src/main/webapp/WEB-INF/views/admin/goodsEnroll.jsp b/VamPa/src/main/webapp/WEB-INF/views/admin/goodsEnroll.jsp index 69e04c1..bd00db4 100644 --- a/VamPa/src/main/webapp/WEB-INF/views/admin/goodsEnroll.jsp +++ b/VamPa/src/main/webapp/WEB-INF/views/admin/goodsEnroll.jsp @@ -501,7 +501,10 @@ $("#enrollBtn").on("click",function(e){ contentType : false, data : formData, type : 'POST', - dataType : 'json' + dataType : 'json', + success : function(result){ + console.log(result); + } }); diff --git a/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java b/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java index 2fbd2e1..13f4751 100644 --- a/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java +++ b/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java @@ -1,9 +1,9 @@ package com.vam.controller; -import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; @@ -13,6 +13,9 @@ import javax.imageio.ImageIO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -24,6 +27,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.vam.model.AttachImageVO; import com.vam.model.AuthorVO; import com.vam.model.BookVO; import com.vam.model.Criteria; @@ -275,8 +279,8 @@ public class AdminController { } /* 첨부 파일 업로드 */ - @PostMapping("/uploadAjaxAction") - public void uploadAjaxActionPOST(MultipartFile[] uploadFile) { + @PostMapping(value="/uploadAjaxAction", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) + public ResponseEntity> uploadAjaxActionPOST(MultipartFile[] uploadFile) { logger.info("uploadAjaxActionPOST.........."); String uploadFolder = "C:\\upload"; @@ -297,14 +301,23 @@ public class AdminController { uploadPath.mkdirs(); } + /* 이미저 정보 담는 객체 */ + List list = new ArrayList(); + // 향상된 for for(MultipartFile multipartFile : uploadFile) { + /* 이미지 정보 객체 */ + AttachImageVO vo = new AttachImageVO(); + /* 파일 이름 */ String uploadFileName = multipartFile.getOriginalFilename(); + vo.setFileName(uploadFileName); + vo.setUploadPath(datePath); /* uuid 적용 파일 이름 */ String uuid = UUID.randomUUID().toString(); + vo.setUuid(uuid); uploadFileName = uuid + "_" + uploadFileName; @@ -360,10 +373,13 @@ public class AdminController { } - + list.add(vo); } //for + ResponseEntity> result = new ResponseEntity>(list, HttpStatus.OK); + + return result; } } diff --git a/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsEnroll.jsp b/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsEnroll.jsp index 562774f..58b4d56 100644 --- a/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsEnroll.jsp +++ b/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsEnroll.jsp @@ -482,7 +482,10 @@ $("#enrollBtn").on("click",function(e){ contentType : false, data : formData, type : 'POST', - dataType : 'json' + dataType : 'json', + success : function(result){ + console.log(result); + } });