Ruby on rails 无法存储使用URL上载的回形针图片
我用回形针在AmazonS3上存储图片。 如果我通过普通表单上传,效果很好,但如果用户通过omniauth注册facebook,我还想将用户的个人资料图片默认设置为他们的facebook图片 它可以正确设置图片文件大小、名称和所有其他字段。当我打电话时,它甚至设置了正确的链接Ruby on rails 无法存储使用URL上载的回形针图片,ruby-on-rails,amazon-s3,paperclip,omniauth-facebook,Ruby On Rails,Amazon S3,Paperclip,Omniauth Facebook,我用回形针在AmazonS3上存储图片。 如果我通过普通表单上传,效果很好,但如果用户通过omniauth注册facebook,我还想将用户的个人资料图片默认设置为他们的facebook图片 它可以正确设置图片文件大小、名称和所有其他字段。当我打电话时,它甚至设置了正确的链接 <%= image_tag @user.profile_picture.url(:small) %> 我的回形针配置: has_attached_file :profile_picture, style
<%= image_tag @user.profile_picture.url(:small) %>
我的回形针配置:
has_attached_file :profile_picture, styles: { small: "150x150>" },
path: "app/public/uploads/profile_pictures/:id/:style/:basename.:extension",
validates_attachment_content_type :profile_picture, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
validates_attachment_size :profile_picture, less_than: 2.megabytes
My production.rb:
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
回形针.rb初始值设定项:
Paperclip::Attachment.default_options[:s3_host_name] = 's3-eu-west-1.amazonaws.com'
您应该在ruby中搜索如何下载给定url的图像。quick google返回我在这里使用的方法:
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
Paperclip::Attachment.default_options[:s3_host_name] = 's3-eu-west-1.amazonaws.com'