Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 无法存储使用URL上载的回形针图片_Ruby On Rails_Amazon S3_Paperclip_Omniauth Facebook - Fatal编程技术网

Ruby on rails 无法存储使用URL上载的回形针图片

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

我用回形针在AmazonS3上存储图片。 如果我通过普通表单上传,效果很好,但如果用户通过omniauth注册facebook,我还想将用户的个人资料图片默认设置为他们的facebook图片

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

 <%= 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'