From c51ecdd680362d41ff2fab023667c0405032caca Mon Sep 17 00:00:00 2001 From: duandazhi Date: Fri, 30 Jul 2021 09:44:52 +0800 Subject: [PATCH] =?UTF-8?q?tencent=20cos=20=E5=B0=8F=E6=94=B9=EF=BC=8C=20?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E6=97=B6=E9=97=B4=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ruoyi/file/config/TencentCosConfig.java | 6 +++++- .../java/com/ruoyi/file/service/TencentCosServiceImpl.java | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/TencentCosConfig.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/TencentCosConfig.java index 0fe996fb..fd303955 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/TencentCosConfig.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/TencentCosConfig.java @@ -109,7 +109,7 @@ public class TencentCosConfig { * 2、公共读 * 3、公共读写 */ - private Long expiryDuration = 32400L; + private Long expiryDuration = -1L; public String getAccessKey() { return accessKey; @@ -152,6 +152,10 @@ public class TencentCosConfig { } public Long getExpiryDuration() { + if (expiryDuration != -1 && expiryDuration < 0) { + // 最小是1秒 + expiryDuration = 1L; + } return expiryDuration; } diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentCosServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentCosServiceImpl.java index 3c761166..4ca581e7 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentCosServiceImpl.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentCosServiceImpl.java @@ -162,6 +162,12 @@ public class TencentCosServiceImpl implements IDfsService { */ @Override public String presignedUrl(String fileUrl) { + if (StringUtils.isBlank(fileUrl)) { + return fileUrl; + } + if (config.getExpiryDuration() == -1) { + return fileUrl; + } // 存储桶的命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 String bucketName = config.getBucketName(); if (StringUtils.isBlank(config.getBucketName())) {