将文件上传到 Amazon s3 - 客户端 javascript
Posted
技术标签:
【中文标题】将文件上传到 Amazon s3 - 客户端 javascript【英文标题】:Upload file to Amazon s3 - client-side javascript 【发布时间】:2017-07-23 15:34:25 【问题描述】:我尝试将文件上传到 Amazon s3 这是我发送的参数 params send
并且 api 返回这个允许错误 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>
【问题讨论】:
***.com/questions/17585881/… 我使用 AWS.S3 javascript api,这允许 accessKeyId 和 secretAccessKey,如果没有发送参数 ACL 和 GrandFullControl 都可以,但如果我发送这两个参数,我会收到此错误。 【参考方案1】:错误消息是“不允许同时指定标准 ACL 和标头授予”。 (仅供参考,请在您的问题中直接包含错误消息)
放置对象时,您可以提供固定 ACL 或特定授权/被授权者,但不能同时提供两者。你已经提供了两者。
如果您的目标是允许任何经过身份验证的用户读取,那么只需使用经过身份验证的读取的罐装 ACL 选项。这将给予对象所有者 FULL_CONTROL 并给予 AuthenticatedUsers 组 READ 访问权限。详情请见Canned ACLS。
PS 你也错误地使用了 GrantFullControl。它的值必须是被授权者,而不是诸如“READ”之类的权限字符串。
【讨论】:
以上是关于将文件上传到 Amazon s3 - 客户端 javascript的主要内容,如果未能解决你的问题,请参考以下文章
猿创征文|技术成长之路-Java编程系列之文件OSS存储实践:Amazon S3实现文件上传下载