什么是Minio?
MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。
MinIO是高性能对象存储,什么是对象存储(Object Storage Service),对象存储是支持海量用户远程访问的无限容量廉价存储系统,既然是存储系统。
它由桶(bucket,对应Windows下的文件夹),组成目录结构,桶中直接存放对象(Object,对应Windwos下的文件),桶中不能再创建通,但是要能创建文件夹
Minio怎么用?
1.访问官网下载Minio


2.下载好后将Minio拷贝到服务器上
或者直接在服务器上输入命令下载,命令如下
wget https://dl.min.io/server/minio/release/linux-amd64/minio
3.切换到minio所在目录下,将minio修改为可执行文件
chmod +x minio
4.启动Minio(注意:ip是自己的,端口号随意)
minio server /usr/local/barrel --console-address '192.168.31.135:9090'

5.启动成功,访问Minio,用户名和密码都是minioadmin

6.登录成功后可以创建一个桶上传照片来测试

7.访问192.168.31.135:9090/桶名/文件名 或者 点击Share复制链接即可访问图片

此时会有一个问题,因为权限不够而访问不到,只需修改权限即可



重新访问192.168.31.135:9090/桶名/文件名即可看到图片

8.到此对minio的配置全部结束,现在与java集成,先导入依赖
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.3.9</version>
</dependency>
<!-- okHttp -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.0</version>
</dependency>
9.编写Java代码(上传文件)
package com.huike.clues.domain.vo;
import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
public class FileUploader {
public static void main(String[] args) throws Exception {
try {
MinioClient minioClient =
MinioClient.builder()
.endpoint("http://192.168.31.135:9000")
.credentials("minioadmin", "minioadmin")
.build();
boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("huike-crm").build());
if (!found) {
minioClient.makeBucket(MakeBucketArgs.builder().bucket("huike-crm").build());
} else {
System.out.println("Bucket 'huike-crm' already exists.");
}
minioClient.uploadObject(UploadObjectArgs.builder()
.bucket("huike-crm")
.object("10.jpg")
.filename("C:\\Users\\MEC\\Desktop\\java.png")
.build());
System.out.println("SUCCESS!!!!");
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
System.out.println("HTTP trace: " + e.httpTrace());
}
}
}