我在下面的代码中使用了google云存储桶中的get对象。我在getMetadata
中有错误。请问任何人在这里告诉我什么是getMetadata
以及如何得到它?
Storage.Objects.Get getObject = client.objects().get(bucketName, objectname);
if (getMetadata == true) {
StorageObject object = getObject.execute();
} else {
// Downloading data.
ByteArrayOutputStream out = new ByteArrayOutputStream();
// If you're not in AppEngine, download the whole thing in one request, if possible.
getObject.getMediaHttpDownloader().setDirectDownloadEnabled(true);
getObject.executeMediaAndDownloadTo(out);
}
答案 0 :(得分:0)
看起来你正在通过sample code snippet;在该片段中,getMetadata
只是指您自己选择是否要查看对象的元数据,如大小,内容类型,创建时间等,或者您是否确实要下载对象的内容。
在使用它的实际代码中,您可能不会使用任何getMetadata
变量以这种方式构造它。相反,您应该只使用在每种特定情况下您需要的条件分支中的代码。例如,如果您只想获取对象的大小,以便可以在某处显示字节数而无需实际下载:
Storage.Objects.Get getObject = client.objects().get(bucketName, objectname);
StorageObject object = getObject.execute();
System.out.println("Size is: " + object.getSize().longValue());
或者,如果您只想将内容转储到System.out
:
Storage.Objects.Get getObject = client.objects().get(bucketName, objectname);
getObject.getMediaHttpDownloader().setDirectDownloadEnabled(true);
getObject.executeMediaAndDownloadTo(System.out);