From 564bf7ab6a639c2c4557d35b8fd9b51dca60a738 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 22 八月 2023 13:32:34 +0800
Subject: [PATCH] #规则完善

---
 src/main/java/com/zy/crm/common/service/OssService.java |   69 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/crm/common/service/OssService.java b/src/main/java/com/zy/crm/common/service/OssService.java
index f7bd76f..fc3ce79 100644
--- a/src/main/java/com/zy/crm/common/service/OssService.java
+++ b/src/main/java/com/zy/crm/common/service/OssService.java
@@ -17,7 +17,11 @@
 import java.io.FileNotFoundException;
 import java.io.InputStream;
 import java.net.URL;
+import java.nio.file.Path;
 import java.util.Date;
+import java.nio.file.StandardCopyOption;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 
 /**
  * 闃块噷浜慜SS鏈嶅姟绫�
@@ -78,6 +82,35 @@
         }
         throw new CoolException("500-涓婁紶澶辫触");
     }
+    public String upload(InputStream inputStream, String suffix,String contentType){
+        if(suffix.trim().equals("file")){
+            suffix="jpg";
+        }
+        OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
+        String name = "";
+        try {
+            if (!ossClient.doesBucketExist(bucket)) {
+                ossClient.createBucket(bucket);
+                log.info("鎮ㄧ殑Bucket涓嶅瓨鍦紝鍒涘缓Bucket锛歿}",bucket);
+            }
+            name = String.valueOf(snowflakeIdWorker.nextId()).concat(".").concat(suffix);
+            // 娣诲姞 ContentType
+            ObjectMetadata objectMetadata = new ObjectMetadata();
+//            objectMetadata.setContentType("image/jpg");
+            objectMetadata.setContentType(contentType);
+            ossClient.putObject(bucket, name, inputStream, objectMetadata);
+            Date expiration = new Date(new Date().getTime() + 3600L * 1000 * 24 * 365 * 100);
+            URL url = ossClient.generatePresignedUrl(bucket, name, expiration);
+            log.info("OSS鏂囦欢涓婁紶鎴愬姛: {}", name);
+//            return String.valueOf(url);
+            return "http://zhongyang-ftpserver.oss-cn-hangzhou.aliyuncs.com/"+name;
+        } catch (Exception e){
+            e.printStackTrace();
+        } finally {
+            ossClient.shutdown();
+        }
+        throw new CoolException("500-涓婁紶澶辫触");
+    }
 
     public String upload(InputStream inputStream) {
         return upload(inputStream, ".jpg");
@@ -86,19 +119,47 @@
     /**
      * 涓嬭浇OSS鏂囦欢
      */
-    public void download(String name) {
+//    public void download(String name) {
+//        OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
+//        try {
+//            OSSObject ossObject = ossClient.getObject(bucket, name);
+//            InputStream inputStream = ossObject.getObjectContent();
+//            // do transfer
+//            inputStream.close();
+//            log.info("OSS鏂囦欢涓嬭浇鎴愬姛: {}", name);
+//        } catch (Exception e){
+//            e.printStackTrace();
+//        } finally {
+//            ossClient.shutdown();
+//        }
+//    }
+
+    public String download(String name) {
         OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
         try {
             OSSObject ossObject = ossClient.getObject(bucket, name);
             InputStream inputStream = ossObject.getObjectContent();
-            // do transfer
+
+            // 鑾峰彇榛樿涓嬭浇鐩綍
+            String defaultDownloadDir = System.getProperty("user.home") + "/Downloads";
+
+            // 鍒涘缓鏂囦欢淇濆瓨璺緞
+            Path filePath = Paths.get(defaultDownloadDir, name);
+
+            // 灏嗚緭鍏ユ祦澶嶅埗鍒版枃浠�
+            Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
+
+            // 鍏抽棴杈撳叆娴�
             inputStream.close();
-            log.info("OSS鏂囦欢涓嬭浇鎴愬姛: {}", name);
-        } catch (Exception e){
+
+            log.info("OSS鏂囦欢涓嬭浇鎴愬姛锛屼繚瀛樿矾寰�: {}", filePath);
+            return ""+filePath;
+        } catch (Exception e) {
             e.printStackTrace();
         } finally {
             ossClient.shutdown();
         }
+        return "";
     }
 
     /**

--
Gitblit v1.9.1