diff --git a/pom.xml b/pom.xml index 514acfb..06fce8d 100644 --- a/pom.xml +++ b/pom.xml @@ -30,6 +30,12 @@ spring-boot-starter-web + + jakarta.xml.bind + jakarta.xml.bind-api + 2.3.2 + + org.springframework.boot spring-boot-starter-test diff --git a/src/main/java/com/example/bucket/service/AmazonClient.java b/src/main/java/com/example/bucket/service/AmazonClient.java index c592945..97682b6 100644 --- a/src/main/java/com/example/bucket/service/AmazonClient.java +++ b/src/main/java/com/example/bucket/service/AmazonClient.java @@ -2,11 +2,13 @@ import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.BasicAWSCredentials; +import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.model.CannedAccessControlList; import com.amazonaws.services.s3.model.DeleteObjectRequest; import com.amazonaws.services.s3.model.PutObjectRequest; +import com.amazonaws.services.s3.model.ObjectMetadata; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -34,7 +36,10 @@ public class AmazonClient { @PostConstruct private void initializeAmazon() { AWSCredentials credentials = new BasicAWSCredentials(this.accessKey, this.secretKey); - this.s3client = new AmazonS3Client(credentials); + this.s3client = AmazonS3Client.builder() + .withRegion("us-east-2") + .withCredentials(new AWSStaticCredentialsProvider(credentials)) + .build(); } public String uploadFile(MultipartFile multipartFile) { @@ -64,8 +69,12 @@ private String generateFileName(MultipartFile multiPart) { } private void uploadFileTos3bucket(String fileName, File file) { - s3client.putObject(new PutObjectRequest(bucketName, fileName, file) - .withCannedAcl(CannedAccessControlList.PublicRead)); + PutObjectRequest request = new PutObjectRequest(bucketName, fileName, file); + ObjectMetadata metadata = new ObjectMetadata(); + metadata.setContentType("plain/text"); + metadata.addUserMetadata("title", "someTitle"); + request.setMetadata(metadata); + s3client.putObject(request); } public String deleteFileFromS3Bucket(String fileUrl) { diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1344069..6982a6e 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,5 +1,5 @@ amazonProperties: endpointUrl: https://s3.us-east-2.amazonaws.com - accessKey: AKIAIDMKDEINLEV2KLFA - secretKey: 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 - bucketName: new-awesome-bucket-1 \ No newline at end of file + accessKey: <> + secretKey: <> + bucketName: <> \ No newline at end of file