2017-03-03 124 views
2

我想上传一个文件到Amazon S3
这是PARAMS我送 params send上传文件到Amazon S3 - 客户端JavaScript

和API返回的permiss error response

此错误

这是我的CORS配置

<CORSRule> 
    <AllowedOrigin>*</AllowedOrigin> 
    <AllowedMethod>GET</AllowedMethod> 
    <AllowedMethod>PUT</AllowedMethod> 
    <AllowedMethod>POST</AllowedMethod> 
    <AllowedMethod>DELETE</AllowedMethod> 
    <AllowedHeader>*</AllowedHeader> 
    <ExposeHeader>ETags</ExposeHeader> 
    <ExposeHeader>x-amz-acl</ExposeHeader> 
    <ExposeHeader>x-amz-request-id</ExposeHeader>  
</CORSRule> 

+0

https://stackoverflow.com/questions/17585881/amazon-s3-direct-file-upload-from-client-browser-private-key-disclosure?rq=1 – Rishabh

+0

我使用AWS.S3 javascript api和这让accessKeyId和secretAccessKey,如果没有发送的PARAMS ACL和GrandFullControl都做得很好,但如果我送这两个参数,我得到这个错误。 – apaternina

回答

0

错误消息是“指定两个canned ACLs和标题授权不被允许”。 (FYI为未来的职位,请直接包含错误信息在你的问题)

把一个对象时,你可以提供无论是罐装ACL或特定授权/受让人,但不能同时使用。你提供了两个。

如果您的目标是允许通过任意认证用户读取,那么只需使用已认证读取的canned ACL选项。这将使对象所有者的FULL_CONTROL并会给AuthenticatedUsers组读取权限。有关更多详细信息,请参阅Canned ACLS。您还使用GrantFullControl不当

PS。它的价值需要是被授予者,而不是像'READ'这样的许可字符串。