MinIO分布式文件存储使用
官网地址:
https://docs.minio.io/cn/
Windows版下载地址:
链接:https://pan.baidu.com/s/1X2dr3r-R7mLElgTMnJCepw
提取码:jwo0
1.服务器运行:
进入到下载文件的目录,输入cmd,运行命令窗口:

在命令行输入:
minio.exe server 想要存放文件的地址

运行成功,

在浏览器中输入上面的网址进行访问:

登录的账号密码是:

登录成功

2.idea端开发
2.1 依赖导入:
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>3.0.10</version>
</dependency>
2.2文件上传
上传一个图片案例,这里需要注意的是桶的名称不能是minio,输入敏感词,会创建失败
@SpringBootApplication
public class DemoApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
try {
//使用访问地址和账号密码建立连接
MinioClient minioClient = new MinioClient("http://172.16.2.14",9000,"minioadmin","minioadmin");
//判断文件存储的桶对象是否存在
boolean isExist = minioClient.bucketExists("asiatrip");
if(isExist) {
System.out.println("Bucket asiatrip already exists.");
} else {
// 创建一个名为asiatrip的存储桶,用于存储照片的zip文件。
minioClient.makeBucket("asiatrip");
}
// 使用putObject上传一个文件到存储桶中。
minioClient.putObject("asiatrip","minio.png", "C:\\Users\\Administrator\\Desktop\\minio.png");
System.out.println("上传成功");
} catch(MinioException e) {
System.out.println("Error occurred: " + e);
}
}
}
文件上传后:


2.3上传文件到桶的子文件夹下
子文件夹的创建是在文件名前使用,而不是作为桶的后缀
minioClient.putObject("asiatrip","ppp/minio.png", "C:\\Users\\Administrator\\Desktop\\minio.png");
2.4 文件链接获取
getObjectURL()获取桶内文件的url地址,如果设置了只写权限,用户直接访问地址是查看不了的
getObgect()可以获取桶内对应文件的流对象,进行文件流传输
presignedGetObject()返回的是进行加密算法的地址,通过它可以直接访问文件
设置有效期的分享链接(共享文件时间最大7天)
minioClient.getPresignedObjectUrl(Method.GET,"asiatrip","minio.png",10,null)有效期10秒,可以通过get方式访问
3.操作对象
使用的类都是MinioClient对象
3.1 对存储桶操作方法
- makeBucket 创建桶
- listBuckets 列出当前所有桶
- bucketExists 判断桶是否存在
- removeBucket 移除桶
- listObjects 获取桶内的内容
- listIncompleteUploads 获取上传中断的内容,支持断点续传
3.2 对文件操作方法
- getObject 下载文件
- putObject 上传文件
- copyObject 复制文件
- statObject 查看文件状态
- removeObject 删除文件
- removeIncompleteUpload 删除上传中断的文件
3.3 Presigned操作
签名加密操作
- presignedGetObject 用于获取桶内文件的get下载链接
- presignedPutObject 用于获取桶内文件的上传链接
- presignedPostPolicy 用于设置返回和访问链接的编解码算法
3.4 对存储桶策略操作
存储桶的策略主要是设置读写权限,当访问文件地址时会对策略进行判断是否开放相应的功能
- getBucketPolicy 获取策略信息
- setBucketPolicy 设置策略信息
本文档介绍了如何在服务器上运行MinIO分布式文件存储,并提供了在IDEA中进行开发的详细步骤,包括依赖导入、文件上传、子文件夹操作及获取文件链接。此外,还详述了MinIO的各种对象操作方法,如存储桶、文件的增删查改,以及预签名操作和存储桶策略的管理。

4406

被折叠的 条评论
为什么被折叠?



