minio查询文件夹下面内容只返回了当前文件夹

本文介绍了在使用MinIO进行文件查询时,路径末尾是否带斜杠会直接影响查询结果。如果不带斜杠,查询会返回该路径作为文件夹本身;而带上斜杠,则会返回文件夹内的内容。示例代码展示了如何正确使用带斜杠的路径来获取文件夹内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

minio查询文件夹下面内容的时候,路径最后一定要带个/,不然就是查询的当前文件夹自己

代码示例:

下面代码中bucketName是要查询的桶名称,perfixx传的就是路径

如果传一个2020/06/01,查询结果只有一个2020/06/01文件夹

传2020/06/01/,查询结果才是这个文件夹中的内容

 /**
     * 查看文件对象,文件夹中的
     *
     * @param path       文件夹 结尾必须有 /
     * @return 存储bucket内文件对象信息
     */
    public List<ObjectItem> listObjects(MinioClient minioClient, String path, Boolean onlyDir) {
        Iterable<Result<Item>> results = minioClient.listObjects(
                ListObjectsArgs.builder()
                        .bucket(bucketName)
                        .prefix(path)
                        .recursive(false)
                        .build());
        List<ObjectItem> objectItems = new ArrayList<>();
        try {
            for (Result<Item> result : results) {
                Item item = result.get();
                if (onlyDir && !item.isDir()) {
                    continue;
                }
                if (!onlyDir && item.isDir()) {
                    continue;
                }
                ObjectItem objectItem = new ObjectItem();

                String[] paths = item.objectName().split("/");

                objectItem.setName(paths[paths.length - 1]);
                objectItem.setSize(item.size());
                objectItems.add(objectItem);
            }
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
        return objectItems;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿演

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值