From 24681c81c09022f584a57006f2534b5f74723414 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 30 六月 2026 09:27:31 +0800
Subject: [PATCH] 初始化项目
---
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java | 11 ++++++++---
1 files changed, 8 insertions(+), 3 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 aad9007..98d37d8 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
@@ -116,13 +116,18 @@
@Override
public String presignGetUrl(String url, Integer expirationSeconds) {
// 1. 灏� url 杞崲涓� path
- String path = StrUtil.removePrefix(url, config.getDomain() + "/");
- path = HttpUtils.decodeUrlPath(HttpUtils.removeUrlQuery(path));
+ // 瀹屾暣 Domain URL 浼氳В鐮佽繕鍘熶负鍘熷瀵硅薄鍚嶏紱瑁� path 绾﹀畾宸茬粡鏄湭缂栫爜鐨勫璞″悕
+ boolean domainUrl = StrUtil.startWith(url, config.getDomain() + "/");
+ String path = domainUrl ? StrUtil.removePrefix(url, config.getDomain() + "/") : url;
+ if (domainUrl) {
+ path = HttpUtils.removeUrlPathQueryAndFragment(path);
+ path = HttpUtils.decodeUrlPath(path);
+ }
// 2.1 鎯呭喌涓�锛氬叕寮�璁块棶锛氭棤闇�绛惧悕
// 鑰冭檻鍒拌�佺増鏈殑鍏煎锛屾墍浠ュ繀椤绘槸 config.getEnablePublicAccess() 涓� false 鏃讹紝鎵嶈繘琛岀鍚�
if (!BooleanUtil.isFalse(config.getEnablePublicAccess())) {
- return config.getDomain() + "/" + path;
+ return config.getDomain() + "/" + HttpUtils.encodeUrlPath(path);
}
// 2.2 鎯呭喌浜岋細绉佹湁璁块棶锛氱敓鎴� GET 棰勭鍚� URL
--
Gitblit v1.9.3