From 967e4e87a5e8b70bc2c3a4f52d653c2ebefaf69a Mon Sep 17 00:00:00 2001 From: hylee Date: Mon, 19 Aug 2024 15:55:31 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AC=B8=EC=9E=90=20agent=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20mms=20=ED=8C=8C=EC=9D=BC=20=EC=A0=84=EC=86=A1=20?= =?UTF-8?q?=EC=A7=84=ED=96=89=EC=A4=91=20=ED=8C=8C=EC=9D=BC=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../one/web/AgentCOneRestController.java | 62 +++++++++++++++++++ .../two/web/AgentCTwoRestController.java | 5 +- src/main/resources/templates/agent/view.html | 4 +- 3 files changed, 66 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/itn/admin/agent/client/one/web/AgentCOneRestController.java b/src/main/java/com/itn/admin/agent/client/one/web/AgentCOneRestController.java index 8b83e66..a7752a6 100644 --- a/src/main/java/com/itn/admin/agent/client/one/web/AgentCOneRestController.java +++ b/src/main/java/com/itn/admin/agent/client/one/web/AgentCOneRestController.java @@ -4,16 +4,29 @@ import com.itn.admin.agent.client.one.mapper.domain.AgentCOneVO; import com.itn.admin.agent.client.one.service.AgentCOneService; import com.itn.admin.cmn.msg.RestResponse; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.util.HashMap; +import java.util.Map; @RestController public class AgentCOneRestController { private AgentCOneService agentCOneService; + private final String UPLOAD_DIR = "/home/mjon_client_agent_1/mmsfile"; @Autowired @@ -56,4 +69,53 @@ public class AgentCOneRestController { public ResponseEntity findByLogMoveCnt(@RequestBody AgentCOneVO agentCOneVO) throws Exception { return ResponseEntity.ok().body(agentCOneService.findAllLogMoveCnt(agentCOneVO)); } + + @PostMapping("/agent/one/uploadFiles") + public ResponseEntity uploadFiles(@RequestParam("filename01") MultipartFile file1, + @RequestParam("filename02") MultipartFile file2, + @RequestParam("filename03") MultipartFile file3) { + try { + Map fileNames = new HashMap<>(); + + // 각 파일을 업로드하고 파일명을 수집 + String fileName = ""; + if (!file1.isEmpty()) { + fileName = uploadSingleFile(file1); + fileNames.put("fileName01", fileName); + } + + if (!file2.isEmpty()) { + fileName = uploadSingleFile(file2); + fileNames.put("fileName02", fileName); + } + + if (!file3.isEmpty()) { + fileName = uploadSingleFile(file3); + fileNames.put("fileName03", fileName); + } + // 경로와 파일명 반환 + Map response = new HashMap<>(); + response.put("fileNames", fileNames); + response.put("status", "OK"); + + return ResponseEntity.ok(new RestResponse(HttpStatus.OK, "",response) ); + + } catch (IOException ex) { + return ResponseEntity.ok(new RestResponse(HttpStatus.INTERNAL_SERVER_ERROR, "저장실패","") ); + } + } + + private String uploadSingleFile(MultipartFile file) throws IOException { + String fileName = StringUtils.cleanPath(file.getOriginalFilename()); + Path uploadPath = Paths.get(UPLOAD_DIR); + + if (!Files.exists(uploadPath)) { + Files.createDirectories(uploadPath); + } + + Path filePath = uploadPath.resolve(fileName); + Files.copy(file.getInputStream(), filePath, StandardCopyOption.REPLACE_EXISTING); + + return fileName; + } } diff --git a/src/main/java/com/itn/admin/agent/client/two/web/AgentCTwoRestController.java b/src/main/java/com/itn/admin/agent/client/two/web/AgentCTwoRestController.java index 30a1c52..f5bf704 100644 --- a/src/main/java/com/itn/admin/agent/client/two/web/AgentCTwoRestController.java +++ b/src/main/java/com/itn/admin/agent/client/two/web/AgentCTwoRestController.java @@ -26,7 +26,7 @@ public class AgentCTwoRestController { private AgentCTwoService agentCTwoService; - private final String UPLOAD_DIR = "/home/mjon_client_agent_1/mmsfile"; + private final String UPLOAD_DIR = "/home/mjon_client_agent_2/mmsfile"; @Autowired @@ -106,8 +106,7 @@ public class AgentCTwoRestController { private String uploadSingleFile(MultipartFile file) throws IOException { String fileName = StringUtils.cleanPath(file.getOriginalFilename()); - String uploadDir = "user-files/"; - Path uploadPath = Paths.get(uploadDir); + Path uploadPath = Paths.get(UPLOAD_DIR); if (!Files.exists(uploadPath)) { Files.createDirectories(uploadPath); diff --git a/src/main/resources/templates/agent/view.html b/src/main/resources/templates/agent/view.html index 4408382..2791a4f 100644 --- a/src/main/resources/templates/agent/view.html +++ b/src/main/resources/templates/agent/view.html @@ -887,7 +887,7 @@ return false; } console.log('jsonObject : ', jsonObject); -/* + $.ajax({ type: "POST", url: "/agent/two/send", @@ -917,7 +917,7 @@ complete : function(xhr, textStatus) { oneStopInsertTimer(); } - });*/ + }); } else { alert("파일 업로드 실패: " + response.msg); }