『博客开发日记-后台』之上传文件接口的实现

本文最后更新于 2026年5月12日 晚上

上传文件接口的实现


上传文件接口的需求

判断上传的文件是否为空

判断上传名字是否为空

上传至oss(注意是上传到正式文件里)


代码实现

SysFileServiceImpl 里的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

@Autowired
private OssFileServiceImpl ossFileService;

@Value("${oss.formal-path-prefix:formal/}")
private String formalPathPrefix;

//上传文件
@Override
@Transactional
public ResponseResult uploadFile(MultipartFile file)
{
//判断上传的文件是否为空
if (file == null || file.isEmpty()) {
return ResponseResult.errorResult(AppHttpCodeEnum.FILE_NULL, "文件不能为空");
}

//判断上传名字是否为空
String originalFilename = file.getOriginalFilename();
if (!StringUtils.hasText(originalFilename)) {
return ResponseResult.errorResult(AppHttpCodeEnum.SYSTEM_ERROR, "文件名不能为空");
}

//上传至oss(注意是上传到正式文件里)
String filePath = formalPathPrefix + PathUtils.generateFilePath(originalFilename);
String url = ossFileService.uploadOss(file, filePath);
if (!StringUtils.hasText(url)) {
return ResponseResult.errorResult(AppHttpCodeEnum.SYSTEM_ERROR, "文件上传失败");
}

saveFileRecord(originalFilename, filePath, url, file.getSize(), file.getContentType(), "后台文件上传");
return ResponseResult.okResult(url);
}

需要注意的是我将 UploadServiceImpl 中的 uploadOss 方法重构到了 OssFileServiceImpl 中

这样更符合 oss 服务功能的运作





PS:该系列只做为作者学习开发项目做的笔记用

不一定符合读者来学习,仅供参考


预告

后续会记录博客的开发过程

每次学习会做一份笔记来进行发表

“一花一世界,一叶一菩提”


版权所有 © 2026 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/


『博客开发日记-后台』之上传文件接口的实现
http://example.com/2026/05/10/『博客开发日记-后台』之上传文件接口的实现/
作者
云梦泽
发布于
2026年5月10日
更新于
2026年5月12日
许可协议