嗨,任何人都可以指出我在做错的方向。我正在尝试使用开发中的rails应用程序将图像上传到爱尔兰欧盟地区的S3存储桶。这是我收到错误的错误
在以下行中:TCPSocket.open(conn_address,conn_port,@ local_host,@ local_port)
我正在使用aws-sdk gem和paperclip 4.2。
以下是一些代码段
在:
config/enviroments/development.rb
config.paperclip_defaults = {
:storage => :s3,
:s3_host_name => "s3-eu-west-1.amazonaws.com",
:s3_credentials => {
:bucket => 'S3_BUCKET_NAME',
:access_key_id => 'AWS_ACCESS_KEY_ID',
:secret_access_key => 'AWS_SECRET_ACCESS_KEY'
}
在
config/aws.yml
development:
AWS_ACCESS_KEY_ID: "xxx"
AWS_SECRET_ACCESS_KEY: "xxx"
S3_BUCKET_NAME: "xxx"
s3_host_name: 's3-eu-west-1.amazonaws.com'
在我的模特中
class Product < ActiveRecord::Base
validates :avatar,
attachment_content_type: { content_type: /\Aimage\/.*\Z/ },
attachment_size: { less_than: 5.megabytes }
has_attached_file :avatar, styles: {
thumb: '100x100>',
square: '200x200#',
medium: '300x300>'
}
end
我错过了什么?我查看了我在网上找到的每一个例子,并尝试调整但没有运气。
由于
答案 0 :(得分:1)
试试这个:
#config/enviroments/development.rb
config.paperclip_defaults = {
:storage => :s3,
:s3_host_name => "s3-eu-west-1.amazonaws.com",
:s3_credentials => {
:bucket => ENV["S3_BUCKET_NAME"],
:access_key_id => ENV["AWS_ACCESS_KEY_ID"],
:secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"]
}
答案 1 :(得分:0)
好的,我已经通过将AWS凭证硬编码到development.rb文件中解决了这个问题。所以看起来问题是aws.yml文件没有被加载,有没有人知道为什么或如何解决这个问题?
再次感谢