当前,我正在使用此代码
Storage storage = StorageOptions.newBuilder()
.setCredentials(credentials)
.setProjectId(projectId)
.build()
.getService();
Blob blob = storage.get(BlobId.of(bucketName, objectName));
blob.downloadTo(FilePath);
从存储桶中下载特定文件,但是如果我必须下载包含多个文件的文件夹,则无法执行。
答案 0 :(得分:1)
在Google Cloud Platform Storage中没有文件夹之类的东西。取而代之的是virtual representation of them,但实际上,您只有一堆文件,这些文件的名称以类似的名称分组在分层文件树中。
即
如果您有gs://bucket/folder1/folder2/objectA
和gs://bucket/folder1/folder2/objectB
这两个文件实际上都位于同一文件夹下,但实际上,您的存储桶中只有2个名称相似的对象
对于对象A,文件名是"bucket/folder1/folder2/objectA"
,对于文件b,文件名是"bucket/folder1/folder2/objectB"
当您的路由以“ /”字符(例如"bucket/folder1/folder2/"
在这种情况下,您将需要使用object listing method遍历您感兴趣的对象,并分别调用下载每个对象。