在我的应用中,我试图使用获取API从我的AWS S3存储桶获取文件:
const response = await fetch(baseUrl + url);
我遇到以下错误:
通过CORS策略阻止从原点“ https://my-bucket.s3.amazonaws.com/uploads/044_IMH7kfc.m4a?AWSAccessKeyId=AKIAZB4Y4NZS&Signature=l6QNLV1iUj%2LerlUis%3D&Expires=1586648149”到“ http://localhost:8000”的访存:所请求的资源上没有“ Access-Control-Allow-Origin”标头。如果不透明的响应可以满足您的需求,请将请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。
这是我的AWS存储桶中的CORS配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
</CORSRule>
</CORSConfiguration>
我的应用程序中的访存API表示“请求的资源上没有'Access-Control-Allow-Origin'标头”,但是CORS配置中的“ Access-Control-Allow-Origin”标头应添加该标头,不是吗?
我尝试了此处发布的所有解决方案,但均无济于事: Allow Access-Control-Allow-Origin header using HTML5 fetch API
我还找到了AWS故障排除页面,但这没有帮助: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors-troubleshooting.html
我想念什么?
答案 0 :(得分:0)
我猜问题出在格式上,因为新的 S3 控制台只允许 JSON 格式。
祝你好运,希望对你有所帮助。