mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 22:57:17 +08:00 
			
		
		
		
	| @@ -57,11 +57,11 @@ public class FileRecorderImpl implements FileRecorder { | ||||
|         file.setName(StrUtil.contains(originalFilename, StringConstants.DOT) | ||||
|             ? StrUtil.subBefore(originalFilename, StringConstants.DOT, true) | ||||
|             : originalFilename); | ||||
|         file.setUrl(fileInfo.getUrl()); | ||||
|         file.setSize(fileInfo.getSize()); | ||||
|         file.setUrl(fileInfo.getPath() + fileInfo.getFilename()); | ||||
|         file.setExtension(fileInfo.getExt()); | ||||
|         file.setType(FileTypeEnum.getByExtension(file.getExtension())); | ||||
|         file.setThumbnailUrl(fileInfo.getPath() + fileInfo.getThFilename()); | ||||
|         file.setThumbnailUrl(fileInfo.getThUrl()); | ||||
|         file.setThumbnailSize(fileInfo.getThSize()); | ||||
|         StorageDO storage = (StorageDO)fileInfo.getAttr().get(ClassUtil.getClassName(StorageDO.class, false)); | ||||
|         file.setStorageId(storage.getId()); | ||||
| @@ -87,20 +87,6 @@ public class FileRecorderImpl implements FileRecorder { | ||||
|         return fileMapper.lambdaUpdate().eq(FileDO::getUrl, file.getUrl()).remove(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据 URL 查询文件 | ||||
|      * | ||||
|      * @param url URL | ||||
|      * @return 文件信息 | ||||
|      */ | ||||
|     private FileDO getFileByUrl(String url) { | ||||
|         Optional<FileDO> fileOptional = fileMapper.lambdaQuery().eq(FileDO::getUrl, url).oneOpt(); | ||||
|         return fileOptional.orElseGet(() -> fileMapper.lambdaQuery() | ||||
|             .eq(FileDO::getUrl, StrUtil.subAfter(url, StringConstants.SLASH, true)) | ||||
|             .oneOpt() | ||||
|             .orElse(null)); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void update(FileInfo fileInfo) { | ||||
|         /* 不使用分片功能则无需重写 */ | ||||
| @@ -115,4 +101,18 @@ public class FileRecorderImpl implements FileRecorder { | ||||
|     public void deleteFilePartByUploadId(String s) { | ||||
|         /* 不使用分片功能则无需重写 */ | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据 URL 查询文件 | ||||
|      * | ||||
|      * @param url URL | ||||
|      * @return 文件信息 | ||||
|      */ | ||||
|     private FileDO getFileByUrl(String url) { | ||||
|         Optional<FileDO> fileOptional = fileMapper.lambdaQuery().eq(FileDO::getUrl, url).oneOpt(); | ||||
|         return fileOptional.orElseGet(() -> fileMapper.lambdaQuery() | ||||
|             .likeLeft(FileDO::getUrl, StrUtil.subAfter(url, StringConstants.SLASH, true)) | ||||
|             .oneOpt() | ||||
|             .orElse(null)); | ||||
|     } | ||||
| } | ||||
| @@ -23,7 +23,6 @@ import org.dromara.x.file.storage.core.FileInfo; | ||||
| import top.continew.admin.system.enums.FileTypeEnum; | ||||
| import top.continew.starter.core.constant.StringConstants; | ||||
| import top.continew.starter.core.util.StrUtils; | ||||
| import top.continew.starter.core.util.URLUtils; | ||||
| import top.continew.starter.extension.crud.model.entity.BaseDO; | ||||
|  | ||||
| import java.io.Serial; | ||||
| @@ -89,18 +88,22 @@ public class FileDO extends BaseDO { | ||||
|      */ | ||||
|     public FileInfo toFileInfo(String storageCode) { | ||||
|         FileInfo fileInfo = new FileInfo(); | ||||
|         fileInfo.setOriginalFilename(StrUtils | ||||
|             .blankToDefault(this.extension, this.name, ex -> this.name + StringConstants.DOT + ex)); | ||||
|         fileInfo.setSize(this.size); | ||||
|         fileInfo.setUrl(this.url); | ||||
|         fileInfo.setExt(this.extension); | ||||
|         fileInfo.setBasePath(StringConstants.EMPTY); | ||||
|         fileInfo.setPath(StringConstants.EMPTY); | ||||
|         fileInfo.setFilename(URLUtils.isHttpUrl(this.url) | ||||
|         fileInfo.setSize(this.size); | ||||
|         fileInfo.setFilename(StrUtil.contains(this.url, StringConstants.SLASH) | ||||
|             ? StrUtil.subAfter(this.url, StringConstants.SLASH, true) | ||||
|             : this.url); | ||||
|         fileInfo.setThFilename(this.thumbnailUrl); | ||||
|         fileInfo.setOriginalFilename(StrUtils | ||||
|             .blankToDefault(this.extension, this.name, ex -> this.name + StringConstants.DOT + ex)); | ||||
|         fileInfo.setBasePath(StringConstants.EMPTY); | ||||
|         fileInfo.setPath(StrUtil.subBefore(this.url, StringConstants.SLASH, true) + StringConstants.SLASH); | ||||
|         fileInfo.setExt(this.extension); | ||||
|         fileInfo.setPlatform(storageCode); | ||||
|         fileInfo.setThUrl(this.thumbnailUrl); | ||||
|         fileInfo.setThFilename(StrUtil.contains(this.thumbnailUrl, StringConstants.SLASH) | ||||
|             ? StrUtil.subAfter(this.thumbnailUrl, StringConstants.SLASH, true) | ||||
|             : this.thumbnailUrl); | ||||
|         fileInfo.setThSize(this.thumbnailSize); | ||||
|         return fileInfo; | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user