MinIO
-
添加maven依赖
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.5.1</version> </dependency> -
创建一个minioClient
- endpoint 方法里的参数按实际情况填 MinIO 的服务地址
- credentials 方法里的参数按实际情况分别填上对应的 Username 和 Password(accessKey 和 secretKey)
private static final MinioClient minioClient = MinioClient.builder() .endpoint("http://192.168.200.128:9000") .credentials("minioadmin", "minioadmin") .build(); -
上传文件到指定Bucket的根目录下
@Test void testUploadObject() { try { UploadObjectArgs uploadObjectArgs = UploadObjectArgs.builder() .bucket("test-bucket") .object("pic.jpg") .filename("D:\\images\\pic.jpg") .build(); minioClient.uploadObject(uploadObjectArgs); System.out.println("上传成功!"); } catch (Exception e) { System.out.println("上传失败!"); } }可以看到
D:\\images\\pic.jpg文件成功上传到 MinIO 的 test-bucket 上,文件名为 pic.jpg -
上传文件到指定Bucket的多级目录下
@Test void testUploadObject2() { try { UploadObjectArgs uploadObjectArgs = UploadObjectArgs.builder() .bucket("test-bucket") .object("2023/1/14/pic.jpg") .filename("D:\\images\\pic.jpg") .build(); minioClient.uploadObject(uploadObjectArgs); System.out.println("上传成功!"); } catch (Exception e) { System.out.println("上传失败!"); } }这里用当前日期作为多级目录,使用方式跟上面的
testUploadObject测试方法类似,创建多级目录可以在.object("2023/1/14/pic.jpg")里写上对应的路径来创建。运行该方法后,可以在控制台上查看是否成功上传到指定的多级目录下:
-
删除文件
@Test void testRemoveObject() { try { RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder() .bucket("test-bucket") .object("pic.jpg") .build(); minioClient.removeObject(removeObjectArgs); System.out.println("删除成功!"); } catch (Exception e) { System.out.println("删除失败!"); } } -
下载文件
@Test void testDownloadObject() { try { DownloadObjectArgs downloadObjectArgs = DownloadObjectArgs.builder() .bucket("test-bucket") .object("2023/1/14/pic.jpg") .filename("D:\\images\\pic2.jpg") .build(); minioClient.downloadObject(downloadObjectArgs); System.out.println("下载成功!"); } catch (Exception e) { System.out.println("下载失败!"); } }这个方法将 MinIO 的
test-bucket下的2023/1/14/pic.jpg文件下载到D:\\images\\pic2.jpg
COMMENTS
评论