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