我使用ajax方法将文件上传到S3。我的文件已成功上传(获得204代码),但仍然(ajax进入失败方法而非成功)获取错误, 请求的资源上没有“Access-Control-Allow-Origin”标头。
我的跨域政策如下,
<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*" />
<allow-http-request-headers-from domain="*" headers="*">
</allow-http-request-headers-from>
</cross-domain-policy>
我的ajax方法,
$.ajax({
url : url,
type: "POST",
data: data,
contentType: false,
processData: false,
success: function(){
console.log("success")
},
error: function(){
console.log("error")
}
})
答案 0 :(得分:0)
请阅读此文档http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingBucketPermissions.html
以下是您可以尝试的示例xml。将examplesite.com
更改为您的。右键单击存储桶并转到&#34;权限&#34;选项卡并单击&#34;编辑CORS配置&#34;
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>http://*.examplesite.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>