我目前使用 Google Cloud Storagepaperclip
来上传图片。一切正常,我的凭据有效。
我现在希望在 Google Cloud Storage 上生成一个签名 URL 以提供给用户。
首先我创建一个存储对象:
storage = Fog::Storage.new(
provider: "Google",
google_storage_access_key_id: "KNOWN_GOOD_ID",
google_storage_secret_access_key: "KNOWN_GOOD_KEY")
然后我创建 URL:
storage.put_object_url("MY_BUCKET",
"RANDOM_NAME.jpg",
1.hour,
'Content-Type' => 'image/jpeg')
哪个回报https://storage.googleapis.com/MY_BUCKET/RANDOM_NAME.jpg?GoogleAccessId=REDACTED&Signature=REDACTED&Expires=3600
过去,如果我暂时启用AllUsers:W
(只是暂时!),我可以将二进制图像(通过 Postman API 客户端)发布到这个存储桶。
但是,当我现在尝试将 jpeg 文件发布到存储桶时,我收到此错误:
<?xml version='1.0' encoding='UTF-8'?>
<Error>
<Code>InvalidPolicyDocument</Code>
<Message>The content of the form does not meet the conditions specified in the policy document.</Message>
<Details>Missing policy</Details>
</Error>
如何解决此Missing policy
错误?