从Amazon AWS s3存储桶获取HTML5的错误:请求的资源上不存在``Access-Control-Allow-Origin''标头

时间:2020-04-11 23:09:51

标签: amazon-web-services amazon-s3 fetch

在我的应用中,我试图使用获取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

我想念什么?

1 个答案:

答案 0 :(得分:0)

我猜问题出在格式上,因为新的 S3 控制台只允许 JSON 格式。

祝你好运,希望对你有所帮助。