minio文件上传

minio文件上传

1、controller

java 复制代码
    @PostMapping("/upload2minio")
    public Response<List<Map<String,String>>> upload2minio(@RequestPart("req") FileUploadReq req, @RequestPart("fileList") List<MultipartFile> fileList){
        req.setFileList(fileList);
        return Response.builder(fileService.upload2minio(req));
    }

2、service

java 复制代码
    /**
     * @author: yc
     * @des:  文件上传到minio
     * @date: 2024/8/4 14:08
     */
    List<Map<String,String>> upload2minio(FileUploadReq req);

3、serviceImpl

java 复制代码
    /**
     * @author: yc
     * @des:  文件上传到minio
     * @date: 2024/8/4 14:08
     */
    @Override
    public List<Map<String, String>> upload2minio(FileUploadReq req) {
        if(Objects.isNull(req)){
            throw new BusinessException("请求参数不能为空");
        }
        if(CollectionUtils.isEmpty(req.getFileList())){
            throw new BusinessException("上传文件不能为空");
        }
        String dir = null;
        if(StringUtils.isNotBlank(req.getDirName1()) && StringUtils.isNotBlank(req.getDirName2())){
            dir = MINIO_PUBLIC_DIR_PATH + StrConstant.SLASH + req.getDirName1() + StrConstant.SLASH + req.getDirName2();
        }
        else if(StringUtils.isNotBlank(req.getDirName1())){
            dir = MINIO_PUBLIC_DIR_PATH + StrConstant.SLASH + req.getDirName1();
        }
        List<Map<String,String>> uploadList = new ArrayList<>();
        for(MultipartFile multipartFile : req.getFileList()){
            Map<String, String> map = MinioUtils.upload(multipartFile,dir);
            uploadList.add(map);
        }
        return uploadList;
    }

4、MinioUtils

minio工具类

5、StrConstant

StrConstant字符串常量

6、结果截图

6.1 postamn
6.2 结果
相关推荐
天远API6 分钟前
零信任架构实战:基于天远股权穿透构建自动化供应链授信穿透网关
java·人工智能·架构·自动化
最强小杰18 分钟前
claude-opus-5.5 API 接入教程:anthropic-version 头、tools 定义、流式事件格式三个常见问题全部梳理,收藏备用
java·服务器·网络·ai
Cc.Y21 分钟前
Java零基础入门:方法(函数)深度掌握
java·开发语言
奋发向前wcx42 分钟前
CSP-J复赛模拟赛1 王晨旭补题 2026.10.2
java·开发语言
卓怡学长1 小时前
w192基于springboot“考研情报站”微信小程序设计与实现
java·spring boot·spring·微信小程序·intellij-idea
wuminyu1 小时前
JEP491中synchronized关键字引发的平台线程钉住解决方法简介
java·linux·c语言·jvm·c++
anew___2 小时前
《从零手写操作系统 (20):ELF加载器——让OS读懂现代编译器》
java·服务器·前端
code2cat2 小时前
【随笔】MCP资源更新订阅:通知到达以后,Agent怎样刷新旧资料
java·后端·开发工具·ai agent·mcp
一只旭宝3 小时前
C++ 后端开发面试题整理
java·c++·面试
sunshine22 girl3 小时前
Java学习五 面向对象高级5 内部类3-静态内部类和局部内部类(了解)
java·学习