【发布时间】:2014-07-23 10:55:29
【问题描述】:
我已经知道 Google Cloud Storage 中没有文件夹(它们被视为对象),所以请看一下我的问题,您就会明白我的意思。谢谢:-)
这是我上传对象的方法,在我的具体情况下,我想上传一个“文件夹”,即以“/”结尾的文件(例如:“newfolder/”),但我在我的代码末尾的 execute() 中收到 GoogleJson 错误。
[错误]:
Uncaught exception from servlet
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 OK
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Required",
"reason" : "required"
}, {
"domain" : "global",
"message" : "Required",
"reason" : "required"
}, {
"domain" : "global",
"message" : "Required",
"reason" : "required"
} ],
"message" : "Required"
}
[我的方法里面的代码]:
StorageObject objectMetadata = null;
//default bucket
String bucketRootName = “defaultbucketname”;
//First Folder
String folderAppName = “myfolder”;
//folder that i want to create (upload)
folderName+="/";
String folderPath = folderAppName + "/" + folderName;
if (useCustomMetadata) {
List<ObjectAccessControl> acl = Lists.newArrayList();
acl.add( new ObjectAccessControl().setEntity("allAuthenticatedUsers").setRole("OWNER"));
objectMetadata = new StorageObject()
.setName(folderPath)
.setAcl(acl)
.setContentDisposition("attachment");
}
Storage.Objects.Insert insertObject = storage.objects().insert(bucketRootName, objectMetadata);
StorageObject metadata = insertObject.execute();
return metadata;
为了有这样一个路径的存储桶: 默认bucketname/myfolder/folderName/
有人知道怎么解决吗?
非常感谢
【问题讨论】:
-
你不只是上传路径为“文件夹内”的新文件。我不认为你可以像这样上传一个空的“文件夹”,它只是所有的虚拟路径。
标签: java json google-app-engine google-cloud-storage cloud-storage