mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-19 00:57:14 +08:00
fix: 修复文件管理域名未配置斜杠未后缀无法正常显示的问题
This commit is contained in:
@@ -20,6 +20,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.ClassUtil;
|
import cn.hutool.core.util.ClassUtil;
|
||||||
import cn.hutool.core.util.EscapeUtil;
|
import cn.hutool.core.util.EscapeUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.core.util.URLUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -53,16 +54,26 @@ public class FileRecorderImpl implements FileRecorder {
|
|||||||
private final StorageMapper storageMapper;
|
private final StorageMapper storageMapper;
|
||||||
private final IdentifierGenerator identifierGenerator;
|
private final IdentifierGenerator identifierGenerator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件信息存储
|
||||||
|
* @param fileInfo 文件信息对象
|
||||||
|
* @return 是否保存成功
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean save(FileInfo fileInfo) {
|
public boolean save(FileInfo fileInfo) {
|
||||||
FileDO file = new FileDO();
|
FileDO file = new FileDO();
|
||||||
Number id = identifierGenerator.nextId(fileInfo);
|
Number id = identifierGenerator.nextId(fileInfo);
|
||||||
file.setId(id.longValue());
|
file.setId(id.longValue());
|
||||||
fileInfo.setId(id.longValue() + "");
|
fileInfo.setId(String.valueOf(id.longValue()));
|
||||||
String originalFilename = EscapeUtil.unescape(fileInfo.getOriginalFilename());
|
String originalFilename = EscapeUtil.unescape(fileInfo.getOriginalFilename());
|
||||||
file.setName(StrUtil.contains(originalFilename, StringConstants.DOT)
|
file.setName(StrUtil.contains(originalFilename, StringConstants.DOT)
|
||||||
? StrUtil.subBefore(originalFilename, StringConstants.DOT, true)
|
? StrUtil.subBefore(originalFilename, StringConstants.DOT, true)
|
||||||
: originalFilename);
|
: 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.setUrl(fileInfo.getUrl());
|
||||||
file.setSize(fileInfo.getSize());
|
file.setSize(fileInfo.getSize());
|
||||||
String absPath = fileInfo.getPath();
|
String absPath = fileInfo.getPath();
|
||||||
@@ -84,7 +95,6 @@ public class FileRecorderImpl implements FileRecorder {
|
|||||||
file.setThumbnailUrl(fileInfo.getThUrl());
|
file.setThumbnailUrl(fileInfo.getThUrl());
|
||||||
file.setThumbnailSize(fileInfo.getThSize());
|
file.setThumbnailSize(fileInfo.getThSize());
|
||||||
file.setThumbnailMetadata(JSONUtil.toJsonStr(fileInfo.getThMetadata()));
|
file.setThumbnailMetadata(JSONUtil.toJsonStr(fileInfo.getThMetadata()));
|
||||||
StorageDO storage = (StorageDO)fileInfo.getAttr().get(ClassUtil.getClassName(StorageDO.class, false));
|
|
||||||
file.setStorageId(storage.getId());
|
file.setStorageId(storage.getId());
|
||||||
file.setCreateTime(DateUtil.toLocalDateTime(fileInfo.getCreateTime()));
|
file.setCreateTime(DateUtil.toLocalDateTime(fileInfo.getCreateTime()));
|
||||||
file.setUpdateUser(UserContextHolder.getUserId());
|
file.setUpdateUser(UserContextHolder.getUserId());
|
||||||
|
@@ -113,12 +113,8 @@ public class FileServiceImpl extends BaseServiceImpl<FileMapper, FileDO, FileRes
|
|||||||
log.info("上传结束");
|
log.info("上传结束");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 处理本地存储文件 URL
|
return uploadPretreatment.upload();
|
||||||
FileInfo fileInfo = uploadPretreatment.upload();
|
|
||||||
String domain = StrUtil.appendIfMissing(storage.getDomain(), StringConstants.SLASH);
|
|
||||||
fileInfo.setUrl(URLUtil.normalize(domain + fileInfo.getPath() + fileInfo.getFilename()));
|
|
||||||
fileInfo.setThUrl(URLUtil.normalize(domain + fileInfo.getPath() + fileInfo.getThFilename()));
|
|
||||||
return fileInfo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user