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,失败返回错误码
相关推荐
吃饱了得干活3 小时前
Spring Cloud Gateway 微服务网关:路由、断言、过滤器
java·spring cloud
lwx572805 小时前
探秘InnoDB:搞懂它的内存、线程、磁盘与日志刷盘策略
java·后端
Flynt6 小时前
从Spring Boot 4.0升到4.1,我在Maven和gRPC上栽了跟头
java·spring boot·后端
plainGeekDev7 小时前
Activity 间传值 → Navigation 参数
android·java·kotlin
plainGeekDev7 小时前
onActivityResult → ActivityResult API
android·java·kotlin
Sunia7 小时前
《AgentX 专栏》10-生产部署:3台2C4G云服务器把企业级Agent真正跑起来的完整方案
java·架构
ZhengEnCi8 小时前
J7A-高级Java工程师面试三道灵魂拷问-深度广度与工程素养的终极检验
java·后端
狼爷1 天前
吃透 Java Function 接口,搞定 99% 的 Stream 场景
java·函数式编程
祎雪双十Gy1 天前
从 DataX 的配置加载说起:我用 FastJson2 做了一个轻量级动态配置管理库
java·后端
小锋java12341 天前
分享一套锋哥原创的SpringBoot4+Vue3宠物领养网站系统
java