我在使用amazons3服务时遇到问题
错误是
Excon::Errors::SocketError in PhotosController#create
getaddrinfo: Name or service not known (SocketError)}
当我尝试保存图像时会出现此错误。
config/ininitializers/carrierwave.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'XXXXX',
:aws_secret_access_key => 'YYYYY',
:region => 'us-east-1',
:host => 's3.example.com',
:endpoint => 'https://s3.example.com:8080'
}
config.fog_directory = 'My_bucket_name'
config.fog_public = false
config.fog_attributes = {'Cache-Control'=>"max-age=#{365.day.to_i}"}
结束
我使用的是figaro.gem
config/application.yml
SECRET_KEY_BASE: aaaaaa
AWS_ACCES_KEY_ID: XXXXXX
AWS_SECRET_ACCESS_KEY: YYYYYY
AWS_BUCKET: "My_bucket_name"
Gemfile
gem 'rails', '4.1.4'
gem 'mysql2'
gem 'carrierwave'
gem 'fog'
gem 'aws-sdk'
gem "figaro"
app/uploloaders/picture_uploader.rb
class PictureUploader < CarrierWave::Uploader::Base
storage :fog
def store_dir
'uploads/data'
end
end
我遵循了这个网站在这里输入链接描述,没有做任何其他配置的更改。
我已经将我的应用程序部署到heroku。我想上传图像/视频到那个应用程序。有人能帮助或建议我如何使用carrierwave将图像/视频上传到heroku吗。
感谢提前
那是因为没有这样的主机:s3.example.com
。
从config.fog_credentials
散列中删除host
和endpoint
密钥。