AWS S3文件上传,获取No 'Access-Control-Allow-Origin'错误

AWS S3 File Upload, getting No 'Access-Control-Allow-Origin' error

本文关键字:Access-Control-Allow-Origin 错误 No 获取 文件 S3 AWS      更新时间:2023-09-26

我正在使用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>

my ajax method,

$.ajax({
    url : url,
    type: "POST",
    data: data,
    contentType: false,
    processData: false,
    success: function(){
      console.log("success")
    },
    error: function(){
      console.log("error")
    }
  })

请阅读此文档http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingBucketPermissions.html

下面是您可以尝试的示例xml。将examplesite.com更改为您的。右键单击桶,进入"权限"选项卡,单击"编辑CORS配置"

<?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>