From b5d62c7f7a4974bd5841dc401d8b13849e33606b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8E=E1=85=AC=E1=84=8C=E1=85=AE=E1=86=AB=E1=84=92?= =?UTF-8?q?=E1=85=A9?= Date: Mon, 4 Mar 2024 00:31:39 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20presigned=20url=20=EC=97=90=EB=A7=8C=20h?= =?UTF-8?q?ttps=20=ED=94=84=EB=A1=9C=ED=86=A0=EC=BD=9C=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9=EB=90=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../in/domain/Upload/UploadFileLocation.java | 7 ++--- .../in/service/S3UploadServiceImpl.java | 27 ++++++++++--------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java b/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java index 81aac541..9e136da1 100644 --- a/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java +++ b/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java @@ -5,8 +5,6 @@ @Getter public class UploadFileLocation { - private static final String HTTPS_PROTOCOL = "https://"; - private final String fileUrl; private final String fileName; @@ -16,13 +14,12 @@ private UploadFileLocation(String fileUrl, String fileName) { } public static UploadFileLocation of(String domainName, UploadFile uploadFile) { - return new UploadFileLocation(HTTPS_PROTOCOL + domainName + UploadFileFullPath.SLASH + uploadFile.getFullPath(), + return new UploadFileLocation(domainName + UploadFileFullPath.SLASH + uploadFile.getFullPath(), uploadFile.getFileName()); } public static UploadFileLocation of(String domainName, UploadFileFullPath uploadFileFullPath) { - return new UploadFileLocation( - HTTPS_PROTOCOL + domainName + UploadFileFullPath.SLASH + uploadFileFullPath.unixValue(), + return new UploadFileLocation(domainName + UploadFileFullPath.SLASH + uploadFileFullPath.unixValue(), uploadFileFullPath.getFileFullName()); } diff --git a/src/main/java/koreatech/in/service/S3UploadServiceImpl.java b/src/main/java/koreatech/in/service/S3UploadServiceImpl.java index f48fba9f..29ae66a6 100644 --- a/src/main/java/koreatech/in/service/S3UploadServiceImpl.java +++ b/src/main/java/koreatech/in/service/S3UploadServiceImpl.java @@ -4,12 +4,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - import koreatech.in.domain.Upload.DomainEnum; import koreatech.in.domain.Upload.PreSignedUrlResult; import koreatech.in.domain.Upload.UploadFile; @@ -24,12 +18,17 @@ import koreatech.in.dto.normal.upload.response.UploadFilesResponse; import koreatech.in.mapstruct.normal.upload.UploadFileConverter; import koreatech.in.util.S3Util; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; @Service public class S3UploadServiceImpl implements UploadService { - private final S3Util s3Util; + private static final String HTTPS_PROTOCOL = "https://"; + private final S3Util s3Util; private final String bucketName; private final String domainUrlPrefix; @@ -54,7 +53,7 @@ public UploadFileResponse uploadAndGetUrl(MultipartFile multipartFile, DomainEnu @Override public UploadFileResponse uploadAndGetUrlForAdmin(MultipartFile multipartFile, DomainEnum domain) throws - IOException { + IOException { domain.validateFor(multipartFile); UploadFile file = UploadFile.of(multipartFile, domain.enrichDomainPathForAdmin()); @@ -65,7 +64,7 @@ public UploadFileResponse uploadAndGetUrlForAdmin(MultipartFile multipartFile, D } @Override - public UploadFilesResponse uploadAndGetUrls(List multipartFiles, DomainEnum domain) { + public UploadFilesResponse uploadAndGetUrls(List multipartFiles, DomainEnum domain) { multipartFiles.forEach(domain::validateFor); UploadFiles uploadFiles = UploadFiles.of(multipartFiles, domain.enrichDomainPath()); @@ -75,7 +74,7 @@ public UploadFilesResponse uploadAndGetUrls(List multipartFiles, } @Override - public UploadFilesResponse uploadAndGetUrlsForAdmin(List multipartFiles, DomainEnum domain) { + public UploadFilesResponse uploadAndGetUrlsForAdmin(List multipartFiles, DomainEnum domain) { multipartFiles.forEach(domain::validateFor); UploadFiles uploadFiles = UploadFiles.of(multipartFiles, domain.enrichDomainPathForAdmin()); @@ -91,11 +90,13 @@ public PreSignedUrlResponse generatePreSignedUrl(DomainEnum domain, PreSignedUrl domain.validateMetaData(uploadFileMetaData); - UploadFileFullPath uploadFileFullPath = UploadFileFullPath.of(domain.enrichDomainPath(), uploadFileMetaData.getFileName()); + UploadFileFullPath uploadFileFullPath = UploadFileFullPath.of(domain.enrichDomainPath(), + uploadFileMetaData.getFileName()); PreSignedUrlResult preSignedUrlResult = s3Util.generatePreSignedUrlForPut(bucketName, uploadFileMetaData, - uploadFileFullPath.unixValue(), new Date()); + uploadFileFullPath.unixValue(), new Date()); - UploadFileLocation uploadFileLocation = UploadFileLocation.of(domainUrlPrefix, uploadFileFullPath); + UploadFileLocation uploadFileLocation = UploadFileLocation.of(HTTPS_PROTOCOL + domainUrlPrefix, + uploadFileFullPath); return UploadFileConverter.INSTANCE.toPreSignedUrlResponse(preSignedUrlResult, uploadFileLocation); }