微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 JAVA 中的谷歌存储云存储桶中获取所有 pdf 文件

如何解决如何从 JAVA 中的谷歌存储云存储桶中获取所有 pdf 文件

在存储桶文件夹中,我可以从谷歌存储中获取 pdf 文件。我如何从那里下载所有文件。 例如,对于单个文件

public InputStream getBlobBytesArray() {
    String bucketName ="XYZ";
    String filename="abc.pdf";
    Blob blob = getStorageInstance().get(BlobId.of(bucketName,filename));
    return  new ByteArrayInputStream(getStorageInstance().readAllBytes(blob.getBlobId()));

}

在存储桶内,我创建了一个文件夹,其中存储了 5 个 pdf。 如何获取它们'

public multipartfile getMultiFileFromCloud() {
        // Todo Auto-generated method stub
        String bucketName = "XYZ";
        Blob fileBlob = getStorageInstance().get(BlobId.of(bucketName,filepath));
        multipartfile multipartfile = new Commonsmultipartfile( new ByteArrayInputStream(fileBlob.getContent(BlobSourceOption.generationmatch())));

        return null;
    }

我已经试过了,没有任何效果。提前致谢。

解决方法

Google 存储提供了查找文件夹内所有对象的方法。

public InputStream getBlobBytesArray() {
    String bucketName ="XYZ";
Bucket bucket = storage.get(bucketName);

Page<Blob>blobs=bucket.list(Storage.BlobListOption.prefix("folderPath/1"));  
}

现在这对我来说很好。

,

您只能通过文件全名的前缀(包括路径)来搜索文件。如果您要查找后缀或内容类型元数据,则需要获取所有文件并使用代码选择所需内容(例如名称中的 *.pdf 扩展名)。

那你就不能一个命令下载了,只能一个一个下载。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。