From 35b6f9d31c9052af7e1bc783eddaf35bb50a9f53 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 29 Nov 2025 12:10:55 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90infra=E3=80=91s3=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20region=20=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/core/client/s3/S3FileClient.java | 15 ++++++--------- .../file/core/client/s3/S3FileClientConfig.java | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java index e7b8b9789a..d2213f5328 100644 --- a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java +++ b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java @@ -173,13 +173,13 @@ public class S3FileClient extends AbstractFileClient { return config.getRegion(); } - // 2. 尝试从 endpoint 中解析 region + // 2.1 尝试从 endpoint 中解析 region String endpoint = config.getEndpoint(); if (StrUtil.isEmpty(endpoint)) { return "us-east-1"; } - // 移除协议头(http:// 或 https://) + // 2.2 移除协议头(http:// 或 https://) String host = endpoint; if (HttpUtil.isHttp(endpoint) || HttpUtil.isHttps(endpoint)) { try { @@ -189,12 +189,11 @@ public class S3FileClient extends AbstractFileClient { return "us-east-1"; } } - if (StrUtil.isEmpty(host)) { return "us-east-1"; } - // 3. AWS S3 格式:s3.us-west-2.amazonaws.com 或 s3.amazonaws.com + // 3.1 AWS S3 格式:s3.us-west-2.amazonaws.com 或 s3.amazonaws.com if (host.contains("amazonaws.com")) { // 匹配 s3.{region}.amazonaws.com 格式 if (host.startsWith("s3.") && host.contains(".amazonaws.com")) { @@ -206,8 +205,7 @@ public class S3FileClient extends AbstractFileClient { // s3.amazonaws.com 或 s3-accelerate.amazonaws.com 使用默认值 return "us-east-1"; } - - // 4. 阿里云 OSS 格式:oss-cn-beijing.aliyuncs.com + // 3.2 阿里云 OSS 格式:oss-cn-beijing.aliyuncs.com if (host.contains(S3FileClientConfig.ENDPOINT_ALIYUN)) { // 匹配 oss-{region}.aliyuncs.com 格式 if (host.startsWith("oss-") && host.contains("." + S3FileClientConfig.ENDPOINT_ALIYUN)) { @@ -217,8 +215,7 @@ public class S3FileClient extends AbstractFileClient { } } } - - // 5. 腾讯云 COS 格式:cos.ap-shanghai.myqcloud.com + // 3.3 腾讯云 COS 格式:cos.ap-shanghai.myqcloud.com if (host.contains(S3FileClientConfig.ENDPOINT_TENCENT)) { // 匹配 cos.{region}.myqcloud.com 格式 if (host.startsWith("cos.") && host.contains("." + S3FileClientConfig.ENDPOINT_TENCENT)) { @@ -229,7 +226,7 @@ public class S3FileClient extends AbstractFileClient { } } - // 6. 其他情况(MinIO、七牛云等)使用默认值 + // 3.4 其他情况(MinIO、七牛云等)使用默认值 return "us-east-1"; } diff --git a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java index a0760c40f2..3300a3ef6e 100644 --- a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java +++ b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java @@ -83,7 +83,7 @@ public class S3FileClientConfig implements FileClientConfig { private Boolean enablePublicAccess; /** - * AWS 区域 + * 区域 * 1. AWS S3:https://docs.aws.amazon.com/general/latest/gr/s3.html 例如说,us-east-1、us-west-2 * 2. MinIO:可以填任意值,通常使用 us-east-1 * 3. 阿里云:不需要填写,会自动识别