上传文件
MinIO提供多个语言版本SDK的支持,下边找到java版本的文档:
地址:https://docs.min.io/docs/java-client-quickstart-guide.html
最低需求Java 1.8或更高版本:
maven依赖如下:
|
XML
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.1</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.8.1</version>
</dependency>
|
在media-service工程添加此依赖。
参数说明:
需要三个参数才能连接到minio服务。
|
参数 |
说明 |
|
Endpoint |
对象存储服务的URL |
|
Access Key |
Access key就像用户ID,可以唯一标识你的账户。 |
|
Secret Key |
Secret key是你账户的密码。 |
示例代码如下:
|
Java |
参考示例在media-service工程中 测试上传文件功能,
首先创建一个用于测试的bucket

点击“Manage”修改bucket的访问权限

选择public权限
上传文件
测试代码如下:
以下代码都是经过我自己的简化的,简化版,官方给的参考文档里面的东西很多,有很多用不到
|
Java
/**
* @author Mr.M
* @version 1.0
* @description 测试minio上传文件、删除文件、查询文件
* @date 2023/2/20 14:42
*/
public class MinIOTest {
static MinioClient minioClient =
MinioClient.builder()
//自己服务器地址+端口号
.endpoint("http://26.252.208.115:9090")
//登录的账户密码
.credentials("minioadmin", "minioadmin")
.build();
//上传文件,指定桶内的子目录
@Test
public void upload() {
try {
UploadObjectArgs uploadObjectArgs = UploadObjectArgs.builder()
//桶名
.bucket("mediafiles")
//test:是mediafiles里的文件路径,文件名:Java学习路线.md
.object("test/Java学习路线.md")
//自己电脑的文件路径,进行上传
.filename("D:\\Desktop\\code-roadmap-main\\code-roadmap-main\\docs\\roadmap\\Java学习路线.md")
.build();
//上传
minioClient.uploadObject(uploadObjectArgs);
System.out.println("上传成功了");
} catch (Exception e) {
System.out.println("上传失败");
}
}
} |
执行main方法,共上传两个文件,1.mp4上传到桶根目录下,1.avi上传到 桶中的avi目录下,avi目录会自动创建。
上传成功,通过web控制台查看文件,并预览文件。
下面就是上传成功了

删除文件
下边测试删除文件
参考:https://docs.min.io/docs/java-client-api-reference#removeObject
//删除文件
@Test
public void delete() {
try {
//查询要删除的文件在哪个桶,然后进行删除文件
RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket("mediafiles").object("test/Java学习路线.md").build();
minioClient.removeObject(removeObjectArgs);
} catch (Exception e) {
}
}
|
查询文件
通过查询文件查看文件是否存在minio中。
参考:https://docs.min.io/docs/java-client-api-reference#getObject
//查询文件
@Test
public void getFile() {
//要查询的桶和文件名
GetObjectArgs getObjectArgs =
GetObjectArgs.builder().bucket("mediafiles").object("Java学习路线.md").build();
try (
FilterInputStream inputStream = minioClient.getObject(getObjectArgs);
//下面路径是输出到自己电脑的位置
FileOutputStream outputStream = new FileOutputStream(new File("D:\\Desktop\\code-roadmap-main\\code-roadmap-main\\docs\\roadmap\\Java学习路线11.md"));
) {
if (inputStream != null) {
IOUtils.copy(inputStream, outputStream);
}
} catch (Exception e) {
}
}
|
1094

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



