我使用预先签名的URL将我的反应应用程序中的文件上传到S3,其自身的Bucket是私有的,只为所有域启用了CORS(对于dev env)。
当axios post尝试上传文件时,我看到No" Access-Control-Allow-Origin"标题存在错误。飞行前选项请求引发此错误。
我是从我当地的机器上尝试的。
这是我的CORS配置。我尝试过外卡' *'对于AllowedOrigin没有运气。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://localhost:3000</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<MaxAgeSeconds>300000</MaxAgeSeconds>
<AllowedHeader>authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
&#13;
感谢任何帮助。
答案 0 :(得分:0)
创建预签名网址的服务可能无效。在我的场景中,存储桶位于 eu-centar-1
上,但预签名密钥在 url 中有 us-east-1
。我修复了用于创建预签名密钥的服务并且它起作用了。它与起源无关。检查这在您的场景中是否正常