使用URL上传的回形针图片不会被存储

时间:2014-09-22 08:08:15

标签: ruby-on-rails amazon-s3 paperclip omniauth-facebook

我正在使用paperclip在Amazon S3上存储图片。 如果我通过普通表格上传,它可以正常工作,但我也希望默认情况下,如果他们通过omniauth注册Facebook,则将用户的个人资料图片设置为他们的Facebook图片。

它可以正确设置图片文件大小,名称和所有其他字段。它甚至在我打电话时设置正确的链接

 <%= image_tag @user.profile_picture.url(:small) %>

但由于某种原因,图像无法存储。

同样,如果我使用表单上传,则会将图片上传到正常状态。

  <%= f.label :profile_picture %>
  <%= f.file_field :profile_picture %>

我如何尝试在注册时解析链接中的图像:

user.profile_picture=URI.parse(auth.info.image)

我的回形针配置:

  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

我的生产.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']
      }
  }

Paperclip.rb初始化程序:

Paperclip::Attachment.default_options[:s3_host_name] = 's3-eu-west-1.amazonaws.com'

0 个答案:

没有答案