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