Skip to content

Commit

Permalink
fix(文件管理): 修复文件转存时校验文件是否存在方法的bug
Browse files Browse the repository at this point in the history
  • Loading branch information
Somebody-JIAN authored and fit2-zhao committed May 21, 2024
1 parent 43c1ac2 commit 06fd44c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ private void parseAndSetFileNameType(String filePath, @NotNull FileMetadata file
}
}

public FileMetadata genFileMetadata(String filePath, String storage, long size, boolean enable, String projectId, String moduleId, String operator) {
public FileMetadata genFileMetadata(String fileSpecifyName, String filePath, String storage, long size, boolean enable, String projectId, String moduleId, String operator) {
if (size > maxFileSize.toBytes()) {
throw new MSException(Translator.get("file.size.is.too.large"));
}
Expand All @@ -158,6 +158,10 @@ public FileMetadata genFileMetadata(String filePath, String storage, long size,
if (enable) {
this.checkEnableFile(fileMetadata.getType());
}
// 指定了文件名称,则替换原文件名
if (StringUtils.isNotBlank(fileSpecifyName)) {
fileMetadata.setName(fileSpecifyName);
}
//检查处理后的用户名合法性
if (StringUtils.equals(storage, StorageType.MINIO.name())) {
this.checkMinIOFileName(null, fileMetadata.getName(), fileMetadata.getType(), projectId);
Expand Down Expand Up @@ -186,7 +190,7 @@ public String upload(FileUploadRequest request, String operator, MultipartFile u

String fileName = StringUtils.trim(uploadFile.getOriginalFilename());

FileMetadata fileMetadata = this.genFileMetadata(fileName, StorageType.MINIO.name(), uploadFile.getSize(), request.isEnable(), request.getProjectId(), request.getModuleId(), operator);
FileMetadata fileMetadata = this.genFileMetadata(null, fileName, StorageType.MINIO.name(), uploadFile.getSize(), request.isEnable(), request.getProjectId(), request.getModuleId(), operator);

// 上传文件
String filePath = this.uploadFile(fileMetadata, uploadFile);
Expand Down Expand Up @@ -215,7 +219,7 @@ public String transferFile(String fileName, String originFileName, String projec
if (StringUtils.isBlank(originFileName)) {
throw new MSException(Translator.get("file.name.cannot.be.empty"));
}
FileMetadata fileMetadata = this.genFileMetadata(originFileName, StorageType.MINIO.name(), fileBytes.length, false, projectId, moduleId, operator);
FileMetadata fileMetadata = this.genFileMetadata(fileName, originFileName, StorageType.MINIO.name(), fileBytes.length, false, projectId, moduleId, operator);
if (StringUtils.isNotBlank(fileName)) {
fileMetadata.setName(fileName);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ public String addFile(RepositoryFileAddRequest request, String operator) {
if (fileAttachInfo == null || fileAttachInfo.fileIsNotExist()) {
throw new MSException(Translator.get("file.not.exist"));
}
FileMetadata fileMetadata = fileMetadataService.genFileMetadata(request.getFilePath(), StorageType.GIT.name(), fileAttachInfo.getSize(), request.isEnable(),
FileMetadata fileMetadata = fileMetadataService.genFileMetadata(null, request.getFilePath(), StorageType.GIT.name(), fileAttachInfo.getSize(), request.isEnable(),
fileModule.getProjectId(), fileModule.getId(), operator);

//判断文件是否存在: 同一存储库下文件路径和分支不能重复
Expand Down

0 comments on commit 06fd44c

Please sign in to comment.