From 56df98ce4952239fbf7d0e99dbeb0e5c71531d6f Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 18 Nov 2022 18:29:06 +0800
Subject: [PATCH] initial v1.3.0
---
src/main/java/com/dji/sample/component/oss/service/impl/AmazonS3ServiceImpl.java | 27 +++++++++++++++++++--------
1 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/dji/sample/component/oss/service/impl/AmazonS3ServiceImpl.java b/src/main/java/com/dji/sample/component/oss/service/impl/AmazonS3ServiceImpl.java
index f2bcdc5..b9cdfd3 100644
--- a/src/main/java/com/dji/sample/component/oss/service/impl/AmazonS3ServiceImpl.java
+++ b/src/main/java/com/dji/sample/component/oss/service/impl/AmazonS3ServiceImpl.java
@@ -5,9 +5,7 @@
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import com.amazonaws.services.s3.model.BucketCrossOriginConfiguration;
-import com.amazonaws.services.s3.model.CORSRule;
-import com.amazonaws.services.s3.model.S3Object;
+import com.amazonaws.services.s3.model.*;
import com.amazonaws.services.securitytoken.AWSSecurityTokenService;
import com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClientBuilder;
import com.amazonaws.services.securitytoken.model.AssumeRoleRequest;
@@ -18,6 +16,7 @@
import com.dji.sample.component.oss.model.enums.OssTypeEnum;
import com.dji.sample.component.oss.service.IOssService;
import com.dji.sample.media.model.CredentialsDTO;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -34,6 +33,7 @@
* @version 1.0
* @date 2022/4/27
*/
+@Slf4j
@Service
public class AmazonS3ServiceImpl implements IOssService {
@@ -83,18 +83,29 @@
return true;
}
- public byte[] getObject(String bucket, String objectKey) {
+ public InputStream getObject(String bucket, String objectKey) {
AmazonS3 client = this.createClient();
S3Object object = client.getObject(bucket, objectKey);
-
- try (InputStream stream = object.getObjectContent().getDelegateStream()) {
- return stream.readAllBytes();
+ try (InputStream input = object.getObjectContent().getDelegateStream()) {
+ return input;
} catch (IOException e) {
e.printStackTrace();
} finally {
client.shutdown();
}
- return new byte[0];
+ return InputStream.nullInputStream();
+ }
+
+ @Override
+ public void putObject(String bucket, String objectKey, InputStream input) {
+ AmazonS3 client = this.createClient();
+ if (client.doesObjectExist(bucket, objectKey)) {
+ client.shutdown();
+ throw new RuntimeException("The filename already exists.");
+ }
+ PutObjectResult objectResult = client.putObject(new PutObjectRequest(bucket, objectKey, input, new ObjectMetadata()));
+ client.shutdown();
+ log.info("Upload File: {}", objectResult.toString());
}
private AmazonS3 createClient() {
--
Gitblit v1.9.3