From 6d58a3b7ddc4523567602efb5d49a64681f88618 Mon Sep 17 00:00:00 2001 From: KAI <1373639299@qq.com> Date: Mon, 7 Apr 2025 14:32:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=9F=9F=E5=90=8D=E6=9C=AA=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=9C=E6=9D=A0=E6=9C=AA=E5=90=8E=E7=BC=80=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E6=98=BE=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/config/file/FileRecorderImpl.java | 18 ++++++++++++++---- .../system/service/impl/FileServiceImpl.java | 8 ++------ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/continew-module-system/src/main/java/top/continew/admin/system/config/file/FileRecorderImpl.java b/continew-module-system/src/main/java/top/continew/admin/system/config/file/FileRecorderImpl.java index 18624bb3..55e72246 100644 --- a/continew-module-system/src/main/java/top/continew/admin/system/config/file/FileRecorderImpl.java +++ b/continew-module-system/src/main/java/top/continew/admin/system/config/file/FileRecorderImpl.java @@ -20,6 +20,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.EscapeUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.URLUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import lombok.RequiredArgsConstructor; @@ -53,16 +54,26 @@ public class FileRecorderImpl implements FileRecorder { private final StorageMapper storageMapper; private final IdentifierGenerator identifierGenerator; + /** + * 文件信息存储 + * @param fileInfo 文件信息对象 + * @return 是否保存成功 + */ @Override public boolean save(FileInfo fileInfo) { FileDO file = new FileDO(); Number id = identifierGenerator.nextId(fileInfo); file.setId(id.longValue()); - fileInfo.setId(id.longValue() + ""); + fileInfo.setId(String.valueOf(id.longValue())); String originalFilename = EscapeUtil.unescape(fileInfo.getOriginalFilename()); file.setName(StrUtil.contains(originalFilename, StringConstants.DOT) - ? StrUtil.subBefore(originalFilename, StringConstants.DOT, true) - : originalFilename); + ? StrUtil.subBefore(originalFilename, StringConstants.DOT, true) + : originalFilename); + StorageDO storage = (StorageDO)fileInfo.getAttr().get(ClassUtil.getClassName(StorageDO.class, false)); + String domain = StrUtil.appendIfMissing(storage.getDomain(), StringConstants.SLASH); + // 处理fileInfo中存储的地址 + fileInfo.setUrl(URLUtil.normalize(domain + fileInfo.getPath() + fileInfo.getFilename())); + fileInfo.setThUrl(URLUtil.normalize(domain + fileInfo.getPath() + fileInfo.getThFilename())); file.setUrl(fileInfo.getUrl()); file.setSize(fileInfo.getSize()); String absPath = fileInfo.getPath(); @@ -84,7 +95,6 @@ public class FileRecorderImpl implements FileRecorder { file.setThumbnailUrl(fileInfo.getThUrl()); file.setThumbnailSize(fileInfo.getThSize()); file.setThumbnailMetadata(JSONUtil.toJsonStr(fileInfo.getThMetadata())); - StorageDO storage = (StorageDO)fileInfo.getAttr().get(ClassUtil.getClassName(StorageDO.class, false)); file.setStorageId(storage.getId()); file.setCreateTime(DateUtil.toLocalDateTime(fileInfo.getCreateTime())); file.setUpdateUser(UserContextHolder.getUserId()); diff --git a/continew-module-system/src/main/java/top/continew/admin/system/service/impl/FileServiceImpl.java b/continew-module-system/src/main/java/top/continew/admin/system/service/impl/FileServiceImpl.java index 29e98917..c36c2fd8 100644 --- a/continew-module-system/src/main/java/top/continew/admin/system/service/impl/FileServiceImpl.java +++ b/continew-module-system/src/main/java/top/continew/admin/system/service/impl/FileServiceImpl.java @@ -113,12 +113,8 @@ public class FileServiceImpl extends BaseServiceImpl