java
运行
@RestController
@RequestMapping("upload")
public class UploadController {
@Autowired
private QiniuUtils qiniuUtils;
@PostMapping
public Result upload(@RequestParam("image") MultipartFile file){
// 1. 获取原始文件名
String originalFilename = file.getOriginalFilename();
// 2. 生成唯一文件名(UUID + 原文件后缀)
String fileName = UUID.randomUUID().toString() + "." + StringUtils.substringAfterLast(originalFilename, ".");
// 3. 调用工具类上传到七牛云
boolean upload = qiniuUtils.upload(file, fileName);
// 4. 根据上传结果返回响应
if (upload){
return Result.success(QiniuUtils.url + fileName);
}
return Result.fail(20001,"上传失败");
}
}
核心流程:
- 接收前端
multipart/form-data提交的文件(参数名image) - 为文件生成唯一的 UUID 文件名,避免覆盖
- 调用七牛云工具类完成上传
- 上传成功则返回文件访问 URL,失败返回错误码