文章目录
- 前言
- 一、文件桶中的文件夹是什么?
- 二、文件查询
- 1.桶中文件查询
- 2.桶中文件夹中的文件查询
- 总结
前言
文章再续,书接上文 minio进阶分页查询 说到了文件,可以实现分页查询,然后上次查询的是桶中的文件列表,这次遇到了需要数据隔离的文件,也就是需要在桶中再次建立文件夹;然后查询文件桶中的文件夹中的文件列表;
一、文件桶中的文件夹是什么?
minio的桶中既可以放文件夹,也可以直接放文件
例如本截图中
- 桶: nubula
- 文件夹 dy 文件夹中可以继续放文件
- 文件 销轴9.png
二、文件查询
1.桶中文件查询
仔细看上文中,其实查询重点就是这一句,构造查询参数
Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder().bucket(minioConfig.getBucketName()).build());
2.桶中文件夹中的文件查询
代码如下(示例):
Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder().prefix("dy/").bucket(minioConfig.getBucketName()).build());
这个文件夹作为 .prefix 传进去,一定要加 斜杠 / 否则只能查到桶的文件夹名称以及桶下的文件列表,想获取文件夹下的文件列表,必须加 / ;
既然是从文件夹中获取,那么上传文件的构造参数也是如此,也要加入前缀
PutObjectArgs args = PutObjectArgs.builder().bucket(minioConfig.getBucketName()).object("dy/" + fileName).stream(file.getInputStream(), file.getSize(), -1).contentType(file.getContentType()).build();
总结
由于需要实现此功能,查了很多文件,都没有找到合适的解答,又看了minio文档,也是没有找到合适的解释,试过了 ,最后只能一个个试
终于算是解决了此次问题,做个记录,为后续方便;