mino 版本 linux安装
1、安装包下载
https://dl.min.io/server/minio/release/linux-amd64/minio
建议使用某雷下载,速度会快点,下载包上传到/opt/minioconfig/run
目录下。
2、创建数据存储目录
mkdir -p /data/minio/data
3、服务启动
启动并指定数据存放地址
/opt/minioconfig/run/minio server /data/minio/data/
输出日志
Endpoint: http://localhost:9000 http://127.0.0.1:9000 AccessKey: minioadmin SecretKey: minioadmin
这里就是登录地址和账号密码。
整合SpringBoot环境
1、基础依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>3.0.12</version> </dependency>
2、基础配置
配置要素:地址和端口,登录名,密码,HTML存储桶,图片存储桶。
minio: endpoint: http://192.168.72.133:9000 accessKey: minioadmin secretKey: minioadmin bucketNameHtml: html bucketNameImage: image
文件上传之后,可以基于文件地址直接访问,但是需要在MinIO中配置文件的读写权限:
3、配置参数类
@Component @ConfigurationProperties(prefix = "minio") public class ParamConfig { private String endpoint ; private String accessKey ; private String secretKey ; private String bucketNameHtml ; private String bucketNameImage ; // 省略 get 和 set方法 }
4、基于MinIO配置类
封装MinIO客户端连接工具,文件上传的基础方法,返回文件在MinIO服务上的URL地址。
import io.minio.MinioClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; @Component public class MinIOConfig { private static final Logger LOGGER = LoggerFactory.getLogger(MinIOConfig.class) ; @Resource private ParamConfig paramConfig ; private MinioClient minioClient ; /** * 初始化 MinIO 客户端 */ @PostConstruct private void init(){ try { minioClient = new MinioClient(paramConfig.getEndpoint(), paramConfig.getAccessKey(), paramConfig.getSecretKey()); } catch (Exception e) { e.printStackTrace(); LOGGER.info("MinIoClient init fail ..."); } } /** * 上传 <html> 页面 */ public String uploadHtml (String fileName, String filePath) throws Exception { minioClient.putObject(paramConfig.getBucketNameHtml(),fileName,filePath); return paramConfig.getEndpoint()+"/"+paramConfig.getBucketNameHtml()+"/"+fileName ; } /** * 上传 <img> 图片 */ public String uploadImg (String imgName, String imgPath) throws Exception { minioClient.putObject(paramConfig.getBucketNameImage(),imgName,imgPath); return paramConfig.getEndpoint()+"/"+paramConfig.getBucketNameImage()+"/"+imgName ; } }
5、服务实现
提供两个基础方法:HTML和图片上传,存储在不同位置。
import com.minio.file.config.MinIOConfig; import org.springframework.stereotype.Service; import javax.annotation.Resource; @Service public class UploadServiceImpl implements UploadService { @Resource private MinIOConfig minIOConfig ; // 上传 <html> ,返回服务器地址 @Override public String uploadHtml(String fileName, String filePath) throws Exception { return minIOConfig.uploadHtml(fileName,filePath); } // 上传 <img> ,返回服务器地址 @Override public String uploadImg(String imgName, String imgPath) throws Exception { return minIOConfig.uploadImg(imgName,imgPath); } }
上传之后,基于浏览器访问接口返回的url,查看效果:
参考源码:https://gitee.com/cicadasmile/middle-ware-parent/tree/master/ware23-minio-file
标签:储存,minio,mino,对象,paramConfig,private,import,public,String From: https://www.cnblogs.com/wdswgj/p/17423112.html