千家信息网

springboot中怎么使用minio存储容器

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家展示了"springboot中怎么使用minio存储容器",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"springboot中怎么使用mi
千家信息网最后更新 2026年11月02日springboot中怎么使用minio存储容器

这篇文章主要为大家展示了"springboot中怎么使用minio存储容器",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"springboot中怎么使用minio存储容器"这篇文章吧。

docker运行

docker run  -p 9000:9000     -p 9001:9001     -v /mydata/minio/data:/data    minio/minio server /data --console-address ":9001

java导包

最好是这个版本,其他版本尝试过都出bug了

                     io.minio            minio            8.2.1        

配置文件

spring:  # 上传文件大小设置  servlet:    multipart:      enabled: true      max-file-size: 50MBminio:  endpoint: xxx:9000  accesskey: xxx  secretkey: xxx  bucketName: xxx

操作

1、编写一个属性文件

@Data@Component@ConfigurationProperties(prefix = "minio") // 从配置文件的前缀拿public class MinioProperties {    private String endpoint;    private String accessKey;    private String secretKey;}

2、编写一个minioClient

@Configurationpublic class MinioConfig {    @Resource    private MinioProperties minioProperties;    @Bean    public MinioClient minioClient() {        System.out.println(minioProperties.getAccessKey());        System.out.println(minioProperties.getSecretKey());        MinioClient minioClient = MinioClient.builder()                .endpoint(minioProperties.getEndpoint())                .credentials(minioProperties.getAccessKey(), minioProperties.getSecretKey())                .build();        return minioClient;    }}

3、上传文件Api

public class MinioServiceImpl implements MinioService {    @Value("${minio.bucketName}")    private String bucketName;    @Value("${minio.endpoint}")    private String endPoint;    @Resource    private MinioClient minioClient;    @Override    public List uploadFile(MultipartFile[] file) throws ServerException, InsufficientDataException, ErrorResponseException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {        if (file == null || file.length == 0) {            throw new APIException(ResultCode.PARAM_IS_BLANK);        }        List fileUrlList = new ArrayList<>(file.length);        String url = "";        for (MultipartFile multipartFile : file) {            // 1.获取文件名            String originalFilename = multipartFile.getOriginalFilename();            // 2.截取后缀名            String imgSuffix = originalFilename.substring(originalFilename.lastIndexOf("."));            // 3.生成唯一名            String newFileName = UUID.randomUUID().toString() + imgSuffix;            // 4.日期目录            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");            String dataPath = dateFormat.format(new Date());            // 5.合成路径            String finalFileName = dataPath + "/" + newFileName;            // 别忘了bucketName            url = endPoint + "/" + bucketName + "/" + finalFileName;            try {                // 文件上传                InputStream in = multipartFile.getInputStream();                minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(finalFileName).stream(                        in, multipartFile.getSize(), -1)                        .contentType(multipartFile.getContentType())                        .build());                in.close();                fileUrlList.add(url);            } catch (IOException e) {                throw new APIException(ResultCode.COMMON_FAIL);            }        }        return fileUrlList;    }}

本地浏览设置

通过上面这串url就可以直接访问图片了

以上是"springboot中怎么使用minio存储容器"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 容器 存储 内容 篇文章 版本 学习 帮助 配置 前缀 后缀 图片 大小 属性 文件名 日期 易懂 更多 最好 条理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技制造互联网公司 奇酷互联网科技 贷财互联网科技 奔汉互联网科技 深圳天众互联网科技公司 老年人脱离互联网科技的作文 成都玖崟互联网科技有限公司乐商圈怎么样 央行互联网金融科技公司 北京华百购互联网科技有限公司 现代互联网科技股 苏州五指互联网络科技有限 徐州市互联网科技有限公司 烟台灵鸽互联网科技有限公司 领航科技大厦互联网公司 江苏互联网科技小贷 互联网界的黑科技 广州三三互联网科技有限公司 数字科技和互联网金融哪个好 杭州科技互联网公司有哪些 互联网领先科技成果宣传视频 百单网互联网科技有限公司 互联网 卓越科技 科技创新互联网企业 互联网科技ppt模板 互联网 科技服务平台 互联网 科技馆 昭通云南众福互联网科技有限公司 科技赋能视角下互联网保险发展 怎样加入科技互联网 互联网金融金融科技
0