From b383414b241f641e650cc90d19c6039e99827a60 Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Fri, 13 Oct 2023 16:10:00 +0900 Subject: [PATCH 1/6] =?UTF-8?q?PDF=20=EB=8B=A4=EC=9A=B4=EB=A1=9C=EB=93=9C?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/comn/controller/ComnController.java | 57 +++++++++++++++++++ .../palnet/biz/config/WebSecurityConfig.java | 3 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/palnet/biz/api/comn/controller/ComnController.java diff --git a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java new file mode 100644 index 0000000..19fbc62 --- /dev/null +++ b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java @@ -0,0 +1,57 @@ +package com.palnet.biz.api.comn.controller; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; + +import javax.servlet.http.HttpServletResponse; + +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +@RestController +@Slf4j +@RequestMapping("/api/comn") +@RequiredArgsConstructor +public class ComnController { + + private final HttpServletResponse response; + + private final String BASE_URL = "/Users/igyeongdo/WokrSpace/files/3-1. 팔_부스디자인.pdf"; + + @GetMapping("/pdf-download") + public void pdfDownload(){ + + try (InputStream inputStream = new FileInputStream(new File(BASE_URL)); + OutputStream outputStream = response.getOutputStream()) { + + String fileOriName = "3-1. 팔_부스디자인.pdf"; + fileOriName = URLEncoder.encode(fileOriName, StandardCharsets.UTF_8); + + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setCharacterEncoding(StandardCharsets.UTF_8.name()); + response.setHeader("Content-Disposition", "attachment; filename=\"" + fileOriName + "\""); + + byte[] buffer = new byte[1024]; + int length; + + while ((length = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, length); + } + + } catch (IOException e) { + // 애플리케이션 요구에 맞게 예외 처리 + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/palnet/biz/config/WebSecurityConfig.java b/src/main/java/com/palnet/biz/config/WebSecurityConfig.java index 71e8336..a7f5c30 100644 --- a/src/main/java/com/palnet/biz/config/WebSecurityConfig.java +++ b/src/main/java/com/palnet/biz/config/WebSecurityConfig.java @@ -48,7 +48,8 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { "/webjars/**", /* swagger v3 */ "/v3/api-docs/**", - "/swagger-ui/**" + "/swagger-ui/**", + "/api/comn/pdf-download" // TODO :: 전시회를 위한 임시 허용 URL }; @Autowired From bb8b421f37f2e2a642619de08e0176871918b3b6 Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Fri, 13 Oct 2023 16:10:37 +0900 Subject: [PATCH 2/6] =?UTF-8?q?=EA=B2=BD=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/palnet/biz/api/comn/controller/ComnController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java index 19fbc62..aa07cbd 100644 --- a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java +++ b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java @@ -27,7 +27,7 @@ public class ComnController { private final HttpServletResponse response; - private final String BASE_URL = "/Users/igyeongdo/WokrSpace/files/3-1. 팔_부스디자인.pdf"; + private final String BASE_URL = "/data/pdf/3-1. 팔_부스디자인.pdf"; @GetMapping("/pdf-download") public void pdfDownload(){ From 88d6e1236e709b4dd4b0c9c6b4119628d0627134 Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Fri, 13 Oct 2023 16:30:27 +0900 Subject: [PATCH 3/6] =?UTF-8?q?=EC=B2=B4=ED=81=AC=EC=9A=A9=20=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/palnet/biz/api/comn/controller/ComnController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java index aa07cbd..4118438 100644 --- a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java +++ b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java @@ -31,6 +31,7 @@ public class ComnController { @GetMapping("/pdf-download") public void pdfDownload(){ + log.error("ComnController - pdfDownload()"); try (InputStream inputStream = new FileInputStream(new File(BASE_URL)); OutputStream outputStream = response.getOutputStream()) { From a96aeed70ca80d13d18bcb155ac096a14ebdb9df Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Fri, 13 Oct 2023 16:40:48 +0900 Subject: [PATCH 4/6] =?UTF-8?q?ErrorMessage=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/palnet/biz/api/comn/controller/ComnController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java index 4118438..c84bf4c 100644 --- a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java +++ b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java @@ -51,8 +51,8 @@ public class ComnController { } } catch (IOException e) { - // 애플리케이션 요구에 맞게 예외 처리 - e.printStackTrace(); + + log.error("error -> {}", e.getMessage()); } } } From 32f9a1ef5017e21c6e0eb0bc88b1fef3c1412c0a Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Fri, 13 Oct 2023 16:44:03 +0900 Subject: [PATCH 5/6] =?UTF-8?q?=EA=B2=BD=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/palnet/biz/api/comn/controller/ComnController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java index c84bf4c..ca73940 100644 --- a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java +++ b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java @@ -27,7 +27,7 @@ public class ComnController { private final HttpServletResponse response; - private final String BASE_URL = "/data/pdf/3-1. 팔_부스디자인.pdf"; + private final String BASE_URL = "/data/pdf/3-1.\\ 팔_부스디자인.pdf"; @GetMapping("/pdf-download") public void pdfDownload(){ From 13cbd0d087ad9c39996134055e6847b9f6db15e3 Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Fri, 13 Oct 2023 16:50:47 +0900 Subject: [PATCH 6/6] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EB=AA=85=20=EC=98=81?= =?UTF-8?q?=EC=96=B4=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/palnet/biz/api/comn/controller/ComnController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java index ca73940..c4d807e 100644 --- a/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java +++ b/src/main/java/com/palnet/biz/api/comn/controller/ComnController.java @@ -27,7 +27,7 @@ public class ComnController { private final HttpServletResponse response; - private final String BASE_URL = "/data/pdf/3-1.\\ 팔_부스디자인.pdf"; + private final String BASE_URL = "/data/pdf/3-1.paldesign.pdf"; @GetMapping("/pdf-download") public void pdfDownload(){ @@ -36,7 +36,7 @@ public class ComnController { try (InputStream inputStream = new FileInputStream(new File(BASE_URL)); OutputStream outputStream = response.getOutputStream()) { - String fileOriName = "3-1. 팔_부스디자인.pdf"; + String fileOriName = "3-1.paldesign.pdf"; fileOriName = URLEncoder.encode(fileOriName, StandardCharsets.UTF_8); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);