# nau.minio.spring-boot-starter **Repository Path**: theOS/nau.minio.spring-boot-starter ## Basic Information - **Project Name**: nau.minio.spring-boot-starter - **Description**: minio springboot的starter - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 2 - **Created**: 2021-10-29 - **Last Updated**: 2024-01-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

nau-minio-spring-boot-starter

基于Minio对象存储官方SDK的Spring Boot starter

#### 介绍 基于Minio新版的官方SDK(8.3.3)构建的Spring Boot starter,操作简单,开箱即用。 #### 软件架构 > nau-minio-spring-boot-starter-autoconfigurer 核心包 > nau.minio.spring-boot-starter 启动器包,是个空包,依赖核心包 #### 使用说明 1.选择任意发现版,下载release包。 2.解压release包,将两个jar包安装到本地maven仓库。命令: 在两个文件夹中分别执行CMD命令。 ``` mvn install:install-file -DgroupId=com.nautilus.minio.starter -DartifactId=nau-minio-spring-boot-starter-autoconfigurer -Dversion=0.0.1 -Dpackaging=jar -Dfile=nau-minio-spring-boot-starter-autoconfigurer-0.0.1.jar -DpomFile=pom.xml ``` ``` mvn install:install-file -DgroupId=com.nautilus.minio.starter -DartifactId=nau-minio-spring-boot-starter -Dversion=1.0 -Dpackaging=jar -Dfile=nau-minio-spring-boot-starter-1.0.jar -DpomFile=pom.xml ``` 3.项目中引入 ``` com.nautilus.minio.starter nau-minio-spring-boot-starter 1.0 ``` 或者直接导入到项目中。 #### 配置说明 ``` #minio 服务地址:端口 minio.endpoint=http://192.168.56.101:50000 #minio的账号 minio.access-key=admin #minio的密码 minio.secret-key=11111111 ``` #### 使用示例 1.MinioService 中对官方sdk进行了高级封装,可以通过MinioService 获取上传链接(用于前端直传),获取下载链接(临时链接),查询文件信息。 ``` @Autowired private MinioService minioService; @Test void testService() throws Exception { //获取上传链接 dateDir 1-》为创建日期文件夹 2021/10/28/ 2021/10/29/ 创建后文件全名即:2021/10/29/111111.jpg String bucket1 = minioService.getUploadUrl("bucket1", "111111.jpg", 7200, 1); System.out.println(bucket1); //获取下载链接 String url = minioService.getObjectUrl("bucket1", "2021/10/29/111111.jpg", 7200); System.out.println(url); //获取文件详情。也可获取文件夹详细 如 prefix=2021/10/ 即可获得2021/10文件夹下的所有子文件夹 2021/10/28,2021/10/29 .。。。 List objects = minioService.getAllObjectsByPrefix("bucket1", "2021/10/29/111111.jpg", true); System.out.println(objects); } ``` 2.minioTemplate 简化了一些官方SDK的常用方法的调用。 ``` @Autowired private MinioTemplate minioTemplate; @Test void testTemplate() throws Exception { //检查桶是否存储 boolean bucket1 = minioTemplate.bucketExists("bucket1"); System.out.println(bucket1); } ``` 3. MinioClient 即为官方的MinioClient. 官方文档:[官方API文档](https://docs.min.io/docs/java-client-api-reference.html) ``` @Autowired private MinioClient minioClient; @Test void testMinioClient() throws Exception { boolean bucket1 = minioClient.bucketExists(BucketExistsArgs.builder().bucket("bucket1").build()); System.out.println(bucket1); } ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request