mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-08 12:57:13 +08:00
fix(system/file): 修复上传文件不指定 parentPath 默认上级目录不自动创建的问题
This commit is contained in:
@@ -60,7 +60,7 @@ public class FileController extends BaseController<FileService, FileResp, FileRe
|
||||
/**
|
||||
* 上传文件
|
||||
* <p>
|
||||
* 公共上传文件请使用 {@link top.continew.admin.controller.common.CommonController#upload}
|
||||
* 公共上传文件请使用 {@link CommonController#upload}
|
||||
* </p>
|
||||
*
|
||||
* @param file 文件
|
||||
@@ -69,7 +69,7 @@ public class FileController extends BaseController<FileService, FileResp, FileRe
|
||||
* @throws IOException /
|
||||
*/
|
||||
@Operation(summary = "上传文件", description = "上传文件")
|
||||
@Parameter(name = "parentPath", description = "上级目录", example = "/", in = ParameterIn.QUERY)
|
||||
@Parameter(name = "parentPath", description = "上级目录(默认:/yyyy/MM/dd)", example = "/", in = ParameterIn.QUERY)
|
||||
@SaCheckPermission("system:file:upload")
|
||||
@PostMapping("/upload")
|
||||
public FileUploadResp upload(@NotNull(message = "文件不能为空") @RequestPart MultipartFile file,
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package top.continew.admin.system.service;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import org.dromara.x.file.storage.core.FileInfo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import top.continew.admin.common.base.service.BaseService;
|
||||
@@ -60,7 +61,7 @@ public interface FileService extends BaseService<FileResp, FileResp, FileQuery,
|
||||
* @throws IOException /
|
||||
*/
|
||||
default FileInfo upload(MultipartFile file, String parentPath) throws IOException {
|
||||
return upload(file, parentPath, null);
|
||||
return upload(file, StrUtil.blankToDefault(parentPath, getDefaultParentPath()), null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -94,7 +95,7 @@ public interface FileService extends BaseService<FileResp, FileResp, FileQuery,
|
||||
* @throws IOException /
|
||||
*/
|
||||
default FileInfo upload(File file, String parentPath) throws IOException {
|
||||
return upload(file, parentPath, null);
|
||||
return upload(file, StrUtil.blankToDefault(parentPath, getDefaultParentPath()), null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -252,10 +252,9 @@ public class FileServiceImpl extends BaseServiceImpl<FileMapper, FileDO, FileRes
|
||||
* 处理路径
|
||||
*
|
||||
* <p>
|
||||
* 1.如果 path 为空,则使用 {@link FileService#getDefaultParentPath()} 作为默认值 <br />
|
||||
* 2.如果 path 为 {@code /},则设置为空 <br />
|
||||
* 3.如果 path 不以 {@code /} 结尾,则添加后缀 {@code /} <br />
|
||||
* 4.如果 path 以 {@code /} 开头,则移除前缀 {@code /} <br />
|
||||
* 1.如果 path 为 {@code /},则设置为空 <br />
|
||||
* 2.如果 path 不以 {@code /} 结尾,则添加后缀 {@code /} <br />
|
||||
* 3.如果 path 以 {@code /} 开头,则移除前缀 {@code /} <br />
|
||||
* 示例:yyyy/MM/dd/
|
||||
* </p>
|
||||
*
|
||||
@@ -263,9 +262,6 @@ public class FileServiceImpl extends BaseServiceImpl<FileMapper, FileDO, FileRes
|
||||
* @return 处理路径
|
||||
*/
|
||||
private String pretreatmentPath(String path) {
|
||||
if (StrUtil.isBlank(path)) {
|
||||
return this.getDefaultParentPath();
|
||||
}
|
||||
if (StringConstants.SLASH.equals(path)) {
|
||||
return StringConstants.EMPTY;
|
||||
}
|
||||
|
Reference in New Issue
Block a user