BlobId blobId = BlobId.of(bucketName, filename);
Blob blob = storage.get(blobId);
boolean isFileDeleted = storage.delete(blobId);
在这里,我为blob获得
null
,其中bblo具有文件名空间。在我的存储桶中,结构为sample-bucket/Archive 2copy.zip
。请注意文件名中的空格。有人可以帮我吗?
最佳答案
我正在使用Google Java Api - StorageExample.java,并且能够删除名称中带有空格的Blob。他们正在按ID删除Blob。
private static class DeleteAction extends BlobsAction {
@Override
public void run(Storage storage, BlobId... blobIds) {
// use batch operation
List<Boolean> deleteResults = storage.delete(blobIds);
int index = 0;
for (Boolean deleted : deleteResults) {
if (deleted) {
// request order is maintained
System.out.printf("Blob %s was deleted%n", blobIds[index]);
}
index++;
}
}
}
Expected: <bucket> <path>+
target/appassembler/bin/StorageExample delete bucket-name 'test file'
Blob BlobId{bucket=bucket-name, name=test file, generation=null} was deleted