我遵循的步骤是。
1.从递归对象中获取所有对象
Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder()
.bucket(bucketName).recursive(true).build());
1.然后获取匹配前缀的所有流
InputStream stream = minioClient.getObject(GetObjectArgs.builder()
.bucket(bucketName).object(objectName).build());
InputStream流得到的多个流的列表如何将其转换为zip文件?
尝试了下面的代码,但它的(zipOut)来作为null.下载空zip,我们如何解决这个问题?
ByteArrayOutputStream fos = new ByteArrayOutputStream();
ZipOutputStream zipOut = new ZipOutputStream(fos);
ZipEntry zipEntry1 = new ZipEntry(objectName);
zipEntry1.setSize(resource.contentLength());
zipEntry1.setTime(System.currentTimeMillis());
zipOut.putNextEntry(zipEntry1);
StreamUtils.copy(stream.readAllBytes(), zipOut);
zipOut.closeEntry();
先谢谢你了。
1条答案
按热度按时间2lpgd9681#
我在C#中遇到了同样的问题,这是我如何解决的:如果您转到MinIO Jmeter 板,则可以将文件夹下载为压缩文件:enter image description here
现在如果你检查浏览器请求,它是这样的:
这里你应该用你自己的值替换 MINIO_URL & BUCKET_NAME,现在 TOKEN 值是你从 Jmeter 板登录中得到的东西。PREFIX 值是minio内部文件夹路径的base64转换
这是我的代码,希望对你有帮助: