diff --git a/src/main/java/com/kwcapstone/Service/S3Service.java b/src/main/java/com/kwcapstone/Service/S3Service.java index 26044aa..a6af551 100644 --- a/src/main/java/com/kwcapstone/Service/S3Service.java +++ b/src/main/java/com/kwcapstone/Service/S3Service.java @@ -9,6 +9,8 @@ import software.amazon.awssdk.services.s3.model.*; import java.io.File; +import java.io.IOException; +import java.nio.file.Files; import java.nio.file.Paths; @Service @@ -26,13 +28,35 @@ public String getS3FileUrl(String s3Path) { return "https://" + bucketName + ".s3." + region + ".amazonaws.com/" + s3Path; } +// // 업로드 +// public void uploadFileToS3(String s3Path, File file) { +// PutObjectRequest putObjectRequest = PutObjectRequest.builder() +// .bucket(bucketName) +// .key(s3Path) +// .acl(ObjectCannedACL.BUCKET_OWNER_FULL_CONTROL) +// .build(); +// s3Client.putObject(putObjectRequest, RequestBody.fromFile(file)); +// } + // 업로드 public void uploadFileToS3(String s3Path, File file) { + String contentType; + try { + contentType = Files.probeContentType(file.toPath()); + if (contentType == null) { + contentType = "application/octet-stream"; // fallback MIME + } + } catch (IOException e) { + contentType = "application/octet-stream"; + } + PutObjectRequest putObjectRequest = PutObjectRequest.builder() .bucket(bucketName) .key(s3Path) - .acl(ObjectCannedACL.BUCKET_OWNER_FULL_CONTROL) + .contentType(contentType) + .acl(ObjectCannedACL.PUBLIC_READ) .build(); + s3Client.putObject(putObjectRequest, RequestBody.fromFile(file)); }