SpringBoot系列-minio整合
SpringBoot整合Minio教程
从今天起,撸起袖子跟着我加油干
提示:如有疑问请私信联系、下方有源代码地址,请自行拿取
前言
使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。
提示:以下是本篇文章正文内容,下面案例可供参考
一、技术介绍
1.Minio是什么?
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
二、使用步骤
1.引入maven库
代码如下(示例):
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.0.3</version>
</dependency>
</dependencies>
2.封装Minio
IFile类:
package com.hyh.minio;
/**
* File接口类
*
* @Author: heyuhua
* @Date: 2021/1/12 10:33
*/
public interface IFile {
/**
* 上传
*
* @param filename 文件名
*/
void upload(String filename);
/**
* 上传
*
* @param filename 文件名
* @param object 保存对象文件名称
*/
void upload(String filename, String object);
}
File接口类:
package com.hyh.minio.service;
import com.hyh.minio.IFile;
/**
* File接口
*
* @Author: heyuhua
* @Date: 2021/1/12 10:53
*/
public interface FileService extends IFile {
/**
* 上传
*
* @param filename 文件名称
* @param object 保存对象文件名称
* @param bucket 存储桶
*/
void upload(String filename, String object, String bucket);
}
File接口实现类:
package com.hyh.minio.service.impl;
import com.hyh.minio.service.FileService;
import com.hyh.utils.common.StringUtils;
import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io