mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-11 05:19:00 +08:00
feat(sys-file): 支持自定义文件名上传功能
- 在文件上传接口中增加fileName参数以支持自定义文件名 - 当未提供fileName时保持原有UUID生成逻辑 - 同步修改相关controller和feign接口的签名 - 完善相关方法的JavaDoc注释
This commit is contained in:
1 parent
8d0eb9c8fb
commit
155a303bec
4 files changed
+39
-24
No files matched your search
+3
-2
@@ -43,10 +43,11 @@ public interface RemoteFileService {
|
||||
/**
|
||||
* 内部上传文件接口
|
||||
*
|
||||
* @param file 要上传的文件
|
||||
* @param file 要上传的文件
|
||||
* @param fileName 文件名
|
||||
* @return 上传结果
|
||||
*/
|
||||
@NoToken
|
||||
@PostMapping(value = "/sys-file/inner/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
R innerUpload(@RequestPart("file") MultipartFile file);
|
||||
R innerUpload(@RequestPart("file") MultipartFile file, @RequestParam String fileName);
|
||||
}
|
||||
+11
-4
@@ -109,22 +109,29 @@ public class SysFileController {
|
||||
@PostMapping(value = "/upload")
|
||||
public R upload(@RequestPart("file") MultipartFile file, @RequestParam(value = "dir", required = false) String dir,
|
||||
@RequestParam(value = "groupId", required = false) Long groupId,
|
||||
@RequestParam(value = "type", required = false) String type) {
|
||||
return sysFileService.uploadFile(file, dir, groupId, type);
|
||||
@RequestParam(value = "type", required = false) String type,
|
||||
@RequestParam(value = "fileName", required = false) String fileName) {
|
||||
return sysFileService.uploadFile(file, fileName, dir, groupId, type);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 内部文件上传接口
|
||||
*
|
||||
* @param file 上传的文件
|
||||
* @param dir 文件存储目录
|
||||
* @param groupId 文件分组ID
|
||||
* @param type 文件类型
|
||||
* @param fileName 自定义文件名
|
||||
* @return 文件上传结果
|
||||
*/
|
||||
@Inner
|
||||
@PostMapping(value = "/inner/upload")
|
||||
public R innerUpload(@RequestPart("file") MultipartFile file, @RequestParam(value = "dir", required = false) String dir,
|
||||
@RequestParam(value = "groupId", required = false) Long groupId,
|
||||
@RequestParam(value = "type", required = false) String type) {
|
||||
return sysFileService.uploadFile(file, dir, groupId, type);
|
||||
@RequestParam(value = "type", required = false) String type,
|
||||
@RequestParam(value = "fileName", required = false) String fileName) {
|
||||
return sysFileService.uploadFile(file, fileName, dir, groupId, type);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+12
-9
@@ -38,13 +38,15 @@ public interface SysFileService extends IService<SysFile> {
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
* @param file 文件流
|
||||
* @param dir 文件夹
|
||||
* @param groupId 分组ID
|
||||
* @param type 类型
|
||||
* @return
|
||||
*
|
||||
* @param file 文件流
|
||||
* @param fileName 文件名
|
||||
* @param dir 存储目录
|
||||
* @param groupId 文件分组ID
|
||||
* @param type 文件类型
|
||||
* @return 上传结果
|
||||
*/
|
||||
R uploadFile(MultipartFile file, String dir, Long groupId, String type);
|
||||
R uploadFile(MultipartFile file, String fileName, String dir, Long groupId, String type);
|
||||
|
||||
/**
|
||||
* 读取文件
|
||||
@@ -54,9 +56,10 @@ public interface SysFileService extends IService<SysFile> {
|
||||
void getFile(String fileName, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 删除文件
|
||||
* @param id
|
||||
* @return
|
||||
* 根据文件ID删除文件
|
||||
*
|
||||
* @param id 文件ID
|
||||
* @return 删除是否成功
|
||||
*/
|
||||
Boolean deleteFile(Long id);
|
||||
|
||||
|
||||
+13
-9
@@ -77,15 +77,19 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
|
||||
/**
|
||||
* 上传文件
|
||||
*
|
||||
* @param file 文件流
|
||||
* @param dir 文件夹
|
||||
* @param groupId 分组ID
|
||||
* @param type 类型
|
||||
* @param file 文件流
|
||||
* @param fileName
|
||||
* @param dir 文件夹
|
||||
* @param groupId 分组ID
|
||||
* @param type 类型
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public R uploadFile(MultipartFile file, String dir, Long groupId, String type) {
|
||||
String fileName = IdUtil.simpleUUID() + StrUtil.DOT + FileUtil.extName(file.getOriginalFilename());
|
||||
public R uploadFile(MultipartFile file, String fileName, String dir, Long groupId, String type) {
|
||||
// 如果客户端没有传入文件名,则使用UUID生成一个唯一的文件名
|
||||
if (StrUtil.isBlank(fileName)) {
|
||||
fileName = IdUtil.simpleUUID() + StrUtil.DOT + FileUtil.extName(file.getOriginalFilename());
|
||||
}
|
||||
Map<String, String> resultMap = new HashMap<>(4);
|
||||
resultMap.put("bucketName", properties.getBucketName());
|
||||
resultMap.put("fileName", fileName);
|
||||
@@ -132,10 +136,10 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文件
|
||||
* 根据ID删除文件
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
* @param id 文件ID
|
||||
* @return 删除是否成功,文件不存在时返回false
|
||||
*/
|
||||
@Override
|
||||
@SneakyThrows
|
||||
|
||||
Reference in new issue
Block a user