Rails 5.2 Active Storage 直接上传失败:缺少 CORS header ‘Access-Control-Allow-Origin’
Rails 5.2 Active Storage direct upload failure: CORS header ‘Access-Control-Allow-Origin’ missing
我正在试用 Rail 5.2.0.rc1 Active Storage,使用其包含的 JavaScript 库将 PDF 文档直接从客户端上传到云端。
但是在提交表单时,我在 Firefox 和 Chrome 中都遇到浏览器错误:
Cross-Origin Request Blocked... (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Headers 是这样设置的 this.xhr.setRequestHeader... 在 activestorage.js 中似乎不可配置:https://github.com/rails/rails/blob/master/activestorage/app/javascript/activestorage/blob_record.js
有什么建议吗?
尝试使用以下方法在 S3 存储桶上设置 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>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我正在试用 Rail 5.2.0.rc1 Active Storage,使用其包含的 JavaScript 库将 PDF 文档直接从客户端上传到云端。 但是在提交表单时,我在 Firefox 和 Chrome 中都遇到浏览器错误:
Cross-Origin Request Blocked... (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Headers 是这样设置的 this.xhr.setRequestHeader... 在 activestorage.js 中似乎不可配置:https://github.com/rails/rails/blob/master/activestorage/app/javascript/activestorage/blob_record.js
有什么建议吗?
尝试使用以下方法在 S3 存储桶上设置 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>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>