我无法将任何图像从我的应用程序上传到我的aws存储桶。我了解该过程,但是由于现在我使用Rails 5.2版本,这一过程有所变化,因此我遇到了一些新的麻烦。
首先,我进行了active_storage迁移,并添加了我的gemfile:
gem "aws-sdk-s3", require: false
根据http://edgeguides.rubyonrails.org/active_storage_overview.html#amazon-s3-service。然后,我在config/credentials.yml.enc
用我的aws键。
然后我像这样编辑config / storage.yml:
amazon:
service: S3
access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
region: us-east-1
bucket: my-bucket-name
此外,我编辑了config / environments / development.rband,并更改了该行
config.active_storage.service = :local
收件人:
config.active_storage.service = :amazon
现在,当我尝试在应用程序上使用宝石“ aws-sdk-s3”创建新项目时,收到以下消息作为警报:
存储“ chris-alumni.jpg”时出错。状态:0
我刚刚更改了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>
有没有想到可能是什么问题?我想念什么吗?