我试图将图像上传到AmazonS3存储桶,但收到了一个错误,比如
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Invalid according to Policy: Policy Condition failed: ["eq", "$success_action_redirect", "LOCALHOST"]</Message>
这是我的政策:
POLICY_JSON = {'expiration': '20020-01-01T00:00:00Z', 'conditions': [ {'bucket': 'S3-bucket'}, ['starts-with', '$key', 'uploads/${filename}'], {'acl': 'private'}, {'success_action_redirect': 'LOCALHOST'}, ['starts-with', '$Content-Type', ' '], ['content-length-range', 0, 1048576] ] };
有人能帮我吗?我该如何解决这个问题?
不确定这是否相关,但我可能发现您的策略存在语法错误。我试过了http://www.jsoneditoronline.org/
在您的策略中,我必须用"
替换所有的'
,然后我才能很好地验证它。
这是用"
替换'
后的策略
{"expiration":"20020-01-01T00:00:00Z","conditions":[{"bucket":"S3-bucket"},["starts-with","$key","uploads/${filename}"],{"acl":"private"},{"success_action_redirect":"LOCALHOST"},["starts-with","$Content-Type"," "],["content-length-range",0,1048576]]}
带压痕的OR:
{
"expiration": "20020-01-01T00:00:00Z",
"conditions": [
{
"bucket": "S3-bucket"
},
[
"starts-with",
"$key",
"uploads/${filename}"
],
{
"acl": "private"
},
{
"success_action_redirect": "LOCALHOST"
},
[
"starts-with",
"$Content-Type",
" "
],
[
"content-length-range",
0,
1048576
]
]
}