From 901d62fdc296580cee402147befe267299d1d109 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 26 八月 2026 11:08:06 +0800
Subject: [PATCH] fix: 文件名特殊符号处理

---
 src/main/java/com/ruoyi/basic/utils/FileUtil.java |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/utils/FileUtil.java b/src/main/java/com/ruoyi/basic/utils/FileUtil.java
index 6ad5d77..0294223 100644
--- a/src/main/java/com/ruoyi/basic/utils/FileUtil.java
+++ b/src/main/java/com/ruoyi/basic/utils/FileUtil.java
@@ -27,6 +27,7 @@
 import javax.crypto.SecretKey;
 import java.io.File;
 import java.math.BigDecimal;
+import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
@@ -744,7 +745,7 @@
         if (!normalizedActionPath.endsWith("/")) {
             normalizedActionPath = normalizedActionPath + "/";
         }
-        String baseUrl = domain + prefix + normalizedActionPath + storageBlob.getUidFilename();
+        String baseUrl = domain + prefix + normalizedActionPath + URLEncoder.encode(storageBlob.getUidFilename(), StandardCharsets.UTF_8).replace("+", "%20");
 
         // -1 琛ㄧず姘镐箙鏈夋晥锛屼笉鐢熸垚 token锛屾敼涓� publicKey 缁勫悎鏍¢獙
         if (expired != null && BigDecimal.valueOf(-1L).compareTo(expired) == 0) {

--
Gitblit v1.9.3