From a2714fb9f7ffb84d850d01a2f9acd1cb27c58fdb Mon Sep 17 00:00:00 2001
From: 秋辞未寒 <545073804@qq.com>
Date: 星期五, 17 一月 2025 15:55:17 +0800
Subject: [PATCH] update 优化 OSS私有桶的临时URL获取方法

---
 ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java |   29 ++++-------------------------
 1 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java
index f7b3e8a..59c599b 100644
--- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java
@@ -21,7 +21,6 @@
 import software.amazon.awssdk.services.s3.S3Configuration;
 import software.amazon.awssdk.services.s3.crt.S3CrtHttpConfiguration;
 import software.amazon.awssdk.services.s3.model.GetObjectResponse;
-import software.amazon.awssdk.services.s3.model.NoSuchBucketException;
 import software.amazon.awssdk.services.s3.presigner.S3Presigner;
 import software.amazon.awssdk.transfer.s3.S3TransferManager;
 import software.amazon.awssdk.transfer.s3.model.*;
@@ -113,31 +112,11 @@
                 .serviceConfiguration(config)
                 .build();
 
-            checkBucket();
         } catch (Exception e) {
             if (e instanceof OssException) {
                 throw e;
             }
             throw new OssException("閰嶇疆閿欒! 璇锋鏌ョ郴缁熼厤缃�:[" + e.getMessage() + "]");
-        }
-    }
-
-    /**
-     * 妫�鏌ユ《鏄惁瀛樺湪
-     *
-     * @throws OssException 褰撳垱寤哄瓨鍌ㄦ《鏃跺彂鐢熷紓甯告椂鎶涘嚭
-     */
-    public void checkBucket() {
-        String bucketName = properties.getBucketName();
-        try {
-            // 灏濊瘯鑾峰彇瀛樺偍妗剁殑淇℃伅
-            client.headBucket(x -> x.bucket(bucketName).build()).join();
-        } catch (Exception ex) {
-            if (ex.getCause() instanceof NoSuchBucketException) {
-                throw new OssException("Bucket妗舵槸涓嶅瓨鍦ㄧ殑锛岃鏍稿閰嶇疆淇℃伅:[" + ex.getMessage() + "]");
-            } else {
-                throw new OssException("鍒ゆ柇Bucket鏄惁瀛樺湪澶辫触锛岃鏍稿閰嶇疆淇℃伅:[" + ex.getMessage() + "]");
-            }
         }
     }
 
@@ -305,13 +284,13 @@
     /**
      * 鑾峰彇绉佹湁URL閾炬帴
      *
-     * @param objectKey 瀵硅薄KEY
-     * @param second    鎺堟潈鏃堕棿
+     * @param objectKey   瀵硅薄KEY
+     * @param expiredTime 閾炬帴鎺堟潈鍒版湡鏃堕棿
      */
-    public String getPrivateUrl(String objectKey, Integer second) {
+    public String getPrivateUrl(String objectKey, Duration expiredTime) {
         // 浣跨敤 AWS S3 棰勭鍚� URL 鐨勭敓鎴愬櫒 鑾峰彇瀵硅薄鐨勯绛惧悕 URL
         URL url = presigner.presignGetObject(
-                x -> x.signatureDuration(Duration.ofSeconds(second))
+                x -> x.signatureDuration(expiredTime)
                     .getObjectRequest(
                         y -> y.bucket(properties.getBucketName())
                             .key(objectKey)

--
Gitblit v1.9.3