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/AliyunOssServiceImpl.java |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/dji/sample/component/oss/service/impl/AliyunOssServiceImpl.java b/src/main/java/com/dji/sample/component/oss/service/impl/AliyunOssServiceImpl.java
index d709b07..d855261 100644
--- a/src/main/java/com/dji/sample/component/oss/service/impl/AliyunOssServiceImpl.java
+++ b/src/main/java/com/dji/sample/component/oss/service/impl/AliyunOssServiceImpl.java
@@ -4,6 +4,9 @@
 import com.aliyun.oss.OSSClientBuilder;
 import com.aliyun.oss.OSSException;
 import com.aliyun.oss.model.OSSObject;
+import com.aliyun.oss.model.ObjectMetadata;
+import com.aliyun.oss.model.PutObjectRequest;
+import com.aliyun.oss.model.PutObjectResult;
 import com.aliyuncs.DefaultAcsClient;
 import com.aliyuncs.IAcsClient;
 import com.aliyuncs.exceptions.ClientException;
@@ -93,18 +96,30 @@
     }
 
     @Override
-    public byte[] getObject(String bucket, String objectKey) {
+    public InputStream getObject(String bucket, String objectKey) {
         OSS ossClient = this.createClient();
         OSSObject object = ossClient.getObject(bucket, objectKey);
 
-        try (InputStream stream = object.getObjectContent()) {
-            return stream.readAllBytes();
+        try (InputStream input = object.getObjectContent()) {
+            return input;
         } catch (IOException e) {
             e.printStackTrace();
         } finally {
             ossClient.shutdown();
         }
-        return new byte[0];
+        return InputStream.nullInputStream();
+    }
+
+    @Override
+    public void putObject(String bucket, String objectKey, InputStream input) {
+        OSS ossClient = this.createClient();
+        if (ossClient.doesObjectExist(bucket, objectKey)) {
+            ossClient.shutdown();
+            throw new RuntimeException("The filename already exists.");
+        }
+        PutObjectResult objectResult = ossClient.putObject(new PutObjectRequest(bucket, objectKey, input, new ObjectMetadata()));
+        ossClient.shutdown();
+        log.info("Upload File: {}", objectResult.getETag());
     }
 
     private OSS createClient() {

--
Gitblit v1.9.3