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,失败返回错误码
相关推荐
时间的拾荒人几秒前
Qt 界面优化:绘图详解 —— 从基础图形到图片处理
开发语言·qt·面试
MayZork18 分钟前
Qt 文件操作:QSaveFile 与 QTemporaryFile(含 QTemporaryDir)实战
开发语言·qt
北冥you鱼30 分钟前
Go 语言空接口(interface{})使用场景与最佳实践
开发语言·windows·golang
for_ever_love__33 分钟前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
java资料站37 分钟前
五、Spring AI Alibaba · Memory · Saver(短期会话)
java·spring·microsoft
xh didida40 分钟前
Linux -- 基础IO
linux·服务器·开发语言·c++
个 人 练 习 生1 小时前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生
2601_966949651 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
坤坤子吖1 小时前
C++智能指针:RAII、shared_ptr与内存泄漏
开发语言·c++·笔记·学习
奋斗的阿狸_19861 小时前
ESP32-S3 + ES7210 四通道麦克风录音上传方案
c语言·开发语言·fpga开发