Javascript 使用S3的React应用程序中的CORS原点错误
我一直在做一个项目,客户应该使用AWS将文件上传到云存储中。 我的应用程序是用ReactJS编写的,我决定将文件直接从客户端上传到云存储。我已经构建了应用程序并将其部署到服务器。(这里是链接) 但它又回来了 访问位于的XMLHttpRequest 'https://kamal-archive.s3.ir-thr-at1.arvanstorage.com/aaa.js?uploads' 源于https://raymon-tech.ir'已被CORS策略阻止: 对飞行前请求的响应未通过访问控制检查:它 没有HTTP ok状态 错误。 如果我禁用浏览器的CORS,它可以正常工作 更新: 我使用S3浏览器配置Bucket策略和CORS配置。 以下是我的配置: CORS配置:Javascript 使用S3的React应用程序中的CORS原点错误,javascript,reactjs,amazon-web-services,amazon-s3,cors,Javascript,Reactjs,Amazon Web Services,Amazon S3,Cors,我一直在做一个项目,客户应该使用AWS将文件上传到云存储中。 我的应用程序是用ReactJS编写的,我决定将文件直接从客户端上传到云存储。我已经构建了应用程序并将其部署到服务器。(这里是链接) 但它又回来了 访问位于的XMLHttpRequest 'https://kamal-archive.s3.ir-thr-at1.arvanstorage.com/aaa.js?uploads' 源于https://raymon-tech.ir'已被CORS策略阻止: 对飞行前请求的响应未通过访问控制检查:
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedOrigin>*</AllowedOrigin>
<AllowedHeader>*</AllowedHeader>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>ETag</ExposeHeader>
<ExposeHeader>Accept-Ranges</ExposeHeader>
<ExposeHeader>Content-Encoding</ExposeHeader>
<ExposeHeader>Content-Length</ExposeHeader>
<ExposeHeader>Content-Range</ExposeHeader>
</CORSRule>
</CORSConfiguration>
我最近更改了它们,但没有发生任何事情。如果您需要将文件直接从前端应用程序上载到S3 bucket,请确保将这些文件添加到bucket的CORS策略中:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"POST",
"PUT",
"HEAD"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"ETag",
"Accept-Ranges",
"Content-Encoding",
"Content-Length ",
"Content-Range"
],
"MaxAgeSeconds": 3000
}
]
您需要在服务器上配置cors访问权限Cross Post:在此处发布了我的答案:这是否处理飞行前的选项?由于存在飞行前选项,我使用S3浏览器配置CORS配置和存储桶策略。@AliEsmailpor您在那里设置了CORS配置吗?是的,我按照问题中的说明进行了设置。对吗?
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"POST",
"PUT",
"HEAD"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"ETag",
"Accept-Ranges",
"Content-Encoding",
"Content-Length ",
"Content-Range"
],
"MaxAgeSeconds": 3000
}
]