OSS系列---【java调用Minio实现文件上传下载】
1.引入pom依赖,okhttp有版本要求,最低4.8.3
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.4.2</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.9.3</version> </dependency>
2.测试代码
package com.fast.file; import io.minio.*; import io.minio.errors.*; import java.io.IOException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; public class FileUtil { public static void main(String[] args) throws Exception { // uploadFile(); downloadFile(); } private static void uploadFile() throws Exception { //1.创建客户端 MinioClient minioClient = MinioClient.builder() .endpoint("http://120.48.21.139:9000") .credentials("minioadmin", "minioadmin") .build(); //2.创建bucket boolean bucketExists = minioClient.bucketExists(BucketExistsArgs.builder().bucket("test").build()); if (!bucketExists){ minioClient.makeBucket(MakeBucketArgs.builder().bucket("test").build()); } //3.上传文件, // 注意: // 1.同一个bucket的文件,同名的文件会覆盖。 // 2.minio中存储的文件名字是.object("test1.txt")决定的,"test1.txt"是什么,就保存成什么名 minioClient.uploadObject(UploadObjectArgs.builder() .bucket("test") //上传后保存的名字 .object("test1.txt") //要上传的文件路径 .filename("hh.txt") .build()); System.out.println("文件上传成功!"); } private static void downloadFile() throws Exception { //1.创建客户端 MinioClient minioClient = MinioClient.builder() .endpoint("http://120.48.21.139:9000") .credentials("minioadmin", "minioadmin") .build(); //2.下载文件 minioClient.downloadObject(DownloadObjectArgs.builder() .bucket("test") //要下载的文件的名字,多级目录则用"/"分割 .object("test.txt") //下载后保存文件的路径,目录必须存在,不存在会抛异常,多级目录则写成test/test.txt,用/分割 .filename("test.txt") .build()); System.out.println("文件下载成功!"); } }
愿你走出半生,归来仍是少年!
浙公网安备 33010602011771号