From b4150071b5d162565b2cb1c6649923e1b368d66f Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 16 May 2024 03:17:39 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[DELETE]=20ProxyController=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/ProxyController.java | 46 ------------------- 1 file changed, 46 deletions(-) delete mode 100644 src/main/java/com/samtilee/drawdraw/common/controller/ProxyController.java diff --git a/src/main/java/com/samtilee/drawdraw/common/controller/ProxyController.java b/src/main/java/com/samtilee/drawdraw/common/controller/ProxyController.java deleted file mode 100644 index 371a184..0000000 --- a/src/main/java/com/samtilee/drawdraw/common/controller/ProxyController.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.samtilee.drawdraw.common.controller; - -import lombok.RequiredArgsConstructor; -import lombok.val; -import org.springframework.web.bind.annotation.*; -import org.apache.commons.io.IOUtils; - -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLDecoder; -import java.nio.charset.StandardCharsets; -import java.util.Base64; - -@RestController -@RequiredArgsConstructor -@RequestMapping("/html2canvas") -public class ProxyController { - - @GetMapping("/proxy.json") - @CrossOrigin("*") - public byte[] html2canvasProxy(@RequestParam String url) { - byte[] data = null; - try { - val s3Url = new URL(URLDecoder.decode(url, - StandardCharsets.UTF_8)); - - val connection = (HttpURLConnection) - s3Url.openConnection(); - connection.setRequestMethod("GET"); - - if (connection.getResponseCode() == 200) { - data = IOUtils.toByteArray(connection.getInputStream()); - } else { - System.out.println("responseCode : " - + connection.getResponseCode()); - } - } catch (MalformedURLException e) { - data = "wrong URL".getBytes(java.nio.charset.StandardCharsets.UTF_8); - } catch (Exception e) { - e.printStackTrace(); - System.out.println(e); - } - return Base64.getEncoder().encode(data); - } -} From 0f25b21551ff0d0b720e9873811f00de208237ac Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 16 May 2024 03:17:55 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[FEAT]=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20base?= =?UTF-8?q?64=20=EC=95=94=ED=98=B8=ED=99=94=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../diary/controller/DiaryController.java | 18 ++++++++++++++++++ .../response/ImageBase64EncodeResponse.java | 19 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/main/java/com/samtilee/drawdraw/diary/dto/response/ImageBase64EncodeResponse.java diff --git a/src/main/java/com/samtilee/drawdraw/diary/controller/DiaryController.java b/src/main/java/com/samtilee/drawdraw/diary/controller/DiaryController.java index cc94ea7..a71e4ee 100644 --- a/src/main/java/com/samtilee/drawdraw/diary/controller/DiaryController.java +++ b/src/main/java/com/samtilee/drawdraw/diary/controller/DiaryController.java @@ -8,10 +8,14 @@ import com.samtilee.drawdraw.diary.dto.request.PromptCreationRequest; import com.samtilee.drawdraw.diary.dto.response.DiaryCreationResponse; import com.samtilee.drawdraw.diary.dto.response.DiaryViewResponse; +import com.samtilee.drawdraw.diary.dto.response.ImageBase64EncodeResponse; import com.samtilee.drawdraw.diary.dto.response.PromptCreationResponse; +import com.samtilee.drawdraw.diary.exception.DiaryException; import com.samtilee.drawdraw.diary.service.DiaryService; import lombok.RequiredArgsConstructor; import lombok.val; +import org.apache.commons.io.IOUtils; +import org.apache.tomcat.util.codec.binary.Base64; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -19,6 +23,7 @@ import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import java.net.URI; +import java.net.URL; import java.security.Principal; import static com.samtilee.drawdraw.common.dto.SuccessResponse.*; @@ -49,6 +54,19 @@ public ResponseEntity> createDiary(Princi .body(of(SUCCESS_CREATE_DIARY.getMessage(), response)); } + @GetMapping("/base64") + @CrossOrigin("*") + public ResponseEntity> encodeImage(@RequestParam String imageUrl) { + try { + val url = new URL(imageUrl); + val is = url.openStream(); + val bytes = IOUtils.toByteArray(is); + val response = ImageBase64EncodeResponse.of(Base64.encodeBase64String(bytes)); + return ResponseEntity.ok(of("이미지 암호화 성공", response)); + } catch (Exception e) { + } + return null; + } @PatchMapping("/diary-book/{diaryBookId}/diary/{diaryId}") public ResponseEntity modifyDiary(Principal principal, @PathVariable Long diaryBookId, diff --git a/src/main/java/com/samtilee/drawdraw/diary/dto/response/ImageBase64EncodeResponse.java b/src/main/java/com/samtilee/drawdraw/diary/dto/response/ImageBase64EncodeResponse.java new file mode 100644 index 0000000..2a8e166 --- /dev/null +++ b/src/main/java/com/samtilee/drawdraw/diary/dto/response/ImageBase64EncodeResponse.java @@ -0,0 +1,19 @@ +package com.samtilee.drawdraw.diary.dto.response; + +import lombok.AccessLevel; +import lombok.Builder; +import lombok.NonNull; + +import static lombok.AccessLevel.PRIVATE; + +@Builder(access = PRIVATE) +public record ImageBase64EncodeResponse( + @NonNull String base64Str +) { + + public static ImageBase64EncodeResponse of(String base64Str) { + return ImageBase64EncodeResponse.builder() + .base64Str(base64Str) + .build(); + } +}