diff --git a/src/main/java/ddingdong/ddingdongBE/file/controller/S3FileController.java b/src/main/java/ddingdong/ddingdongBE/file/controller/S3FileController.java index 9b4f3d5e..22d69f94 100644 --- a/src/main/java/ddingdong/ddingdongBE/file/controller/S3FileController.java +++ b/src/main/java/ddingdong/ddingdongBE/file/controller/S3FileController.java @@ -8,6 +8,8 @@ import ddingdong.ddingdongBE.file.service.dto.command.GeneratePreSignedUrlRequestCommand; import ddingdong.ddingdongBE.file.service.dto.query.GeneratePreSignedUrlRequestQuery; import java.net.URL; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RestController; @@ -22,9 +24,10 @@ public class S3FileController implements S3FileAPi { public UploadUrlResponse getPreSignedUrl(PrincipalDetails principalDetails, String fileName) { User user = principalDetails.getUser(); LocalDateTime now = LocalDateTime.now(); + String decodedFileName = URLDecoder.decode(fileName, StandardCharsets.UTF_8); GeneratePreSignedUrlRequestQuery query = s3FileService.generatePresignedUrlRequest( - new GeneratePreSignedUrlRequestCommand(now, user.getId(), fileName)); + new GeneratePreSignedUrlRequestCommand(now, user.getId(), decodedFileName)); URL presingedUrl = s3FileService.getPresignedUrl(query.generatePresignedUrlRequest()); return UploadUrlResponse.of(query, presingedUrl); }