shizhan--10

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,"上传失败");
    }
}

核心流程

  1. 接收前端 multipart/form-data 提交的文件(参数名 image
  2. 为文件生成唯一的 UUID 文件名,避免覆盖
  3. 调用七牛云工具类完成上传
  4. 上传成功则返回文件访问 URL,失败返回错误码
相关推荐
Zhang~Ling1 小时前
C++ 红黑树封装:myset和mymap的底层实现
开发语言·数据结构·c++·算法
原来是猿1 小时前
为什么 C++ 需要区分左值和右值?
开发语言·c++
吴声子夜歌1 小时前
JVM——并发容器实现原理
java·jvm·并发容器
xier_ran1 小时前
【infra之路】PagedAttention
java·开发语言
糖果店的幽灵1 小时前
Spring AI 从入门到精通-结构化输出
java·人工智能·spring
SilentSamsara1 小时前
NumPy 进阶:广播机制、ufunc 与向量化计算的工程实践
开发语言·python·青少年编程·性能优化·numpy
zzz_23681 小时前
【Spring】面试突击系列(六):Spring 工程实践与面试综合
java·spring·面试
珊瑚里的鱼1 小时前
C++的强制类型转换
android·开发语言·c++
编程探索者小陈1 小时前
接口自动化三件套:JSON Schema 校验 + logging 日志 + Allure 测试报告
开发语言·python