From b06e2ffb6f2da14cb03016bde8823c2665113d15 Mon Sep 17 00:00:00 2001 From: jinno Yun Date: Thu, 10 Oct 2024 19:32:27 +0900 Subject: [PATCH] =?UTF-8?q?#21=20Delete=20:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EB=A9=94=EC=86=8C=EB=93=9C=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?(uploadCert)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/GlobalExceptionHandler.java | 1 + .../web3/exception/S3/GetFileException.java | 10 +++++++ .../s3Storage/service/S3StorageService.java | 26 ++++++------------- 3 files changed, 19 insertions(+), 18 deletions(-) create mode 100644 web3-credential-server/src/main/java/web3/exception/S3/GetFileException.java diff --git a/web3-credential-server/src/main/java/web3/exception/GlobalExceptionHandler.java b/web3-credential-server/src/main/java/web3/exception/GlobalExceptionHandler.java index 2cc9935..45b9ccc 100644 --- a/web3-credential-server/src/main/java/web3/exception/GlobalExceptionHandler.java +++ b/web3-credential-server/src/main/java/web3/exception/GlobalExceptionHandler.java @@ -11,6 +11,7 @@ import web3.exception.wallet.WalletAlreadyExistsException; import web3.exception.wallet.WalletPrivateKeyNotEqualsException; +import java.io.IOException; import java.util.HashMap; import java.util.Map; diff --git a/web3-credential-server/src/main/java/web3/exception/S3/GetFileException.java b/web3-credential-server/src/main/java/web3/exception/S3/GetFileException.java new file mode 100644 index 0000000..25547bb --- /dev/null +++ b/web3-credential-server/src/main/java/web3/exception/S3/GetFileException.java @@ -0,0 +1,10 @@ +package web3.exception.S3; + +import java.io.IOException; + +public class GetFileException extends IOException { + + public GetFileException(String message) { + super(message); + } +} diff --git a/web3-credential-server/src/main/java/web3/s3Storage/service/S3StorageService.java b/web3-credential-server/src/main/java/web3/s3Storage/service/S3StorageService.java index 7562b98..fb823f6 100644 --- a/web3-credential-server/src/main/java/web3/s3Storage/service/S3StorageService.java +++ b/web3-credential-server/src/main/java/web3/s3Storage/service/S3StorageService.java @@ -13,6 +13,7 @@ import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.*; import web3.domain.wallet.Wallet; +import web3.exception.S3.GetFileException; import web3.exception.S3.S3UploadException; import web3.properties.S3Properties; import web3.repository.wallet.WalletRepository; @@ -38,7 +39,7 @@ public S3StorageService(S3Properties s3Properties, WalletRepository walletReposi } @Transactional - public String uploadPdf(MultipartFile file, Wallet wallet, String pdfInfo, String pdfKey) { + public String uploadPdf(MultipartFile file, Wallet wallet, String pdfInfo, String pdfKey) throws IOException { String fileName; byte[] result; HashMap metadata = new HashMap<>(); @@ -68,7 +69,7 @@ public String uploadPdf(MultipartFile file, Wallet wallet, String pdfInfo, Strin log.info("metadata = {}", metadata); - uploadCert(fileName, metadata, result); + uploadToS3(fileName, metadata, result); wallet.updatePdfUrl(getPdfUrl(fileName)); walletRepository.saveAndFlush(wallet); @@ -87,20 +88,8 @@ private byte[] getBytes(String destination) { } // 파일 바이트 배열을 가져오는 메서드 - private byte[] getFileBytes(MultipartFile file) { - try { - return file.getBytes(); - } catch (IOException e) { - throw new RuntimeException("Failed to get file bytes: " + e.getMessage(), e); - } - } - - private void uploadCert(String fileName, HashMap metadata, byte[] result) { - try { - uploadToS3(fileName, metadata, result); - } catch (S3Exception e) { - throw new RuntimeException("Failed to upload pdf to S3: " + e.getMessage(), e); - } + private byte[] getFileBytes(MultipartFile file) throws IOException { + return file.getBytes(); } private void uploadToS3(String fileName, HashMap metadata, byte[] result) { @@ -162,7 +151,8 @@ private byte[] createEmptyPdf(){ } @Transactional - public String replacePdfPage(Wallet wallet, int pageNumberToRemove, MultipartFile newPdfFile) { + public String replacePdfPage(Wallet wallet, int pageNumberToRemove, MultipartFile newPdfFile) throws IOException{ + // 원래 PDF 가져오기 String pdfUrl = wallet.getPdfUrl(); byte[] originalPdfBytes = getOriginalPdfBytes(pdfUrl); @@ -193,7 +183,7 @@ public String replacePdfPage(Wallet wallet, int pageNumberToRemove, MultipartFil HashMap metadata = getPdfMetadata(fileName); // 최종 PDF를 S3에 업로드 - uploadCert(fileName, metadata, finalPdfBytes); + uploadToS3(fileName, metadata, finalPdfBytes); try { originalDocument.close(); // 리소스 닫기