当我尝试使用" /"检索对象时在名称中我获得了响应中的所有文件信息和元数据,但是文件本身的链接只指向"未找到"。这适用于我的代码,并在其网站上使用API Explorer。
例如,一个名为" testfolder / test.txt"的文件。它在Developer Console中正确显示为名为" testfolder /"的伪文件夹。和一个名为" test.txt"的文件,但是当做一个Get on" testfolder / test.txt",或者前缀为&#34的List; testfolder /"我遇到了上面提到的问题。
我可以在gsutil和控制台中检索目标文件。如果我使用" /"以外的符号,我还可以使用API检索目标文件。这只是" /"导致API响应中的链接无法正确指向文件。
请求:
GET https://www.googleapis.com/storage/v1/b/dschaffertestbucket/o/testfolder%2Ftest.txt?key={YOUR_API_KEY}
响应:
200 OK
{
"kind": "storage#object",
"id": "dschaffertestbucket/testfolder/test.txt/1429992872601000",
"selfLink": "https://www.googleapis.com/storage/v1/b/dschaffertestbucket/o/testfolder%2Ftest.txt",
"name": "testfolder/test.txt",
"bucket": "dschaffertestbucket",
"generation": "1429992872601000",
"metageneration": "1",
"contentType": "application/octet-stream",
"updated": "2015-04-25T20:14:32.600Z",
"storageClass": "STANDARD",
"size": "14",
"md5Hash": "vLrQ6JkgmdfYKJKKN1ebFQ==",
"mediaLink": "https://www.googleapis.com/download/storage/v1/b/dschaffertestbucket/o/testfolder%2Ftest.txt?generation=1429992872601000&alt=media",
"owner": {
"entity": "user-00b4903a971fb6d48e9e442442b7892dfc55f81ce026106122cb58989d926f00",
"entityId": "00b4903a971fb6d48e9e442442b7892dfc55f81ce026106122cb58989d926f00"
},
"crc32c": "Qcfj8Q==",
"etag": "CKjLz8miksUCEAE="
}
答案 0 :(得分:-2)
在此article中,您可以发现云端存储没有像Windows和Linux这样的文件层次结构,而且“gsutil”和云存储API只是给人一种错觉。
在您的情况下,更容易避免在文件名中包含“/”字符,或者使用其他字符。