MinIO是什么
MinIO是一个开源的、高性能的、兼容S3的对象存储解决方案
MinIO的下载、安装、运行
Docker一键运行MinIO容器
docker run -d -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address ":9001"
出现了以下结果,则说明Docker完成了MinIO镜像的下载并成功运行MinIO容器
MinIO控制台操作文件上传
- 访问MinIO控制台
- 访问地址:http://{your ip}:9001/login
- 用户名/密码:minioadmin/minioadmin
- 创建Bucket
- 上传文件
Java客户端操作文件上传
-
创建access key
-
引入Maven依赖
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.9</version>
</dependency>
- 编写上传demo
public static void main(String[] args) {
try {
// 创建一个MinIO客户端
MinioClient minioClient =
MinioClient.builder()
.endpoint("http://{your ip}", 9000, false)
.credentials("your accessKey", "your secretKey")
.build();
// 根据文件路径上传文件
// minioClient.uploadObject(
// UploadObjectArgs.builder()
// .bucket("newoss") // bucket
// .object("20240422/hello.png") // 指定文件上传成功后在MinIO的目录名和文件名
// .filename("C:\\Users\\cmbsysadmin\\Desktop\\测试图片\\测试.png") // 要上传的文件地址
// .build());
// 根据文件流上传文件
FileInputStream fileInputStream = new FileInputStream("C:\\Users\\cmbsysadmin\\Desktop\\测试图片\\测试.png");
ObjectWriteResponse newoss = minioClient.putObject(PutObjectArgs.builder()
.bucket("your bucket")
.object("hello.png")
.stream(fileInputStream, -1, 1024 * 1024 * 10).build());
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
System.out.println("HTTP trace: " + e.httpTrace());
} catch (IOException e) {
throw new RuntimeException(e);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
} catch (InvalidKeyException e) {
throw new RuntimeException(e);
}
}
- 参考来源