我正在使用Google云端存储上传图片。我现在正在从云控制台进行测试。 我上传图片后,如果我检查公开共享复选框以获取公共链接,我(显然)得到一个可公开访问的网址,即:https://jsfiddle.net/k5y9gyf3/3/。
然后,如果我取消选中“公开共享”复选框,则会发出请求
Request URL:https://clients6.google.com/storage/v1_internal/b/bucketName/o/pictureName.jpg/acl/allUsers?key=AIzaSyCI-yuie5UVOi0DjtiCwWBwQ1djkiuo1g
Request Method:DELETE
请求进展顺利,但公共网址仍可公开访问。我认为它有效一段时间,但一小时后仍然可用。 那么,删除公共网址的正确方法是什么?我公开后,如何限制对存储文件的访问?
答案 0 :(得分:5)
请参阅cache control and consistency上的文档。特别是:
注意:如果您未指定缓存生命周期,则可以公开访问 对象可以缓存最多60分钟。
所以我猜这是按预期工作的,你的对象是缓存的。你有没试过等一会儿?
答案 1 :(得分:2)
在Sharing your data publicly中,它显示有两种方法可以公开停止共享对象。
Dim i,x,a,ws
i = InputBox("Entrer un caractère ou une phrase pour obtenir son Code Unicode Correspondant !","test","éè@!%")
If i <> "" Then
For x = 1 To Len(i)
If x <> Len(i) Then
a = a & "ChrW(" & AscW(Mid(i,x,1)) & ")" & "&"
Else
a = a & "ChrW(" & AscW(Mid(i,x,1)) & ")"
End if
Next
Inputbox "Le Code Unicode Correspondant pour " & qq(i) & " est:",,a
End If
wscript.sleep 5000
set ws = CreateObject("WScript.shell")
ws.SendKeys qq(i)
'******************************************************************
Function qq(strIn)
qq = Chr(34) & strIn & Chr(34)
End Function
'******************************************************************
的条目。您仍然可以公开访问该对象的原因确实是因为@jterrace提到的缓存。引用的Cache control and consistency文章解释了这种最终一致性的影响。
可以通过公开共享对象并在之后立即取消共享来测试此行为。在大多数情况下,对象将在缓存持续时间内公开访问。可以通过指定allUsers
标题{}等来缩短此持续时间。
答案 2 :(得分:0)
当您共享公开网址时,就像https://storage.googleapis.com/bucket_name/pictureName。
如果您删除该文件或取消选中“公开共享”复选框 它最长可达60分钟,是Google云中的默认缓存时间,
避免问题需要传递Query参数之类的 https://storage.googleapis.com/bucket_name/pictureName?avoidCache=1
每次在查询字符串中传递随机数。