2010-01-27 6 views
2

Comment puis-je télécharger une image distante (protocole http, l'url est dans l'attribut image_remote_url) et l'enregistrer en pièce jointe à S3 via Paperclip?Paperclip S3 télécharger des images à distance

class Product < ActiveRecord::Base 
    require 'open-uri' 
    attr_accessor :image_remote_url 
    has_attached_file :photo, 
    :storage => :s3, 
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml", 
    :path => ":class/:id/:style.:extension", 
    :bucket => "my_bucket", 
    :styles => { 
     :icon => "32x32#", 
    } 

    def fetch_image 
    # how should this method look ? 
    end 

end 

A quoi devrait ressembler la méthode "fetch_image"?

Répondre

2

Je ne suis pas sûr que ce soit toujours utile pour vous ou non, mais dans une demande de traction à trombone il y a quelques heures, j'ai réussi à rendre ce super facile.

def set_photo 
    self.photo = URI.parse(self.image_remote_url) 
end 

Cela devrait faire le travail maintenant paperclip (version> 3.1.3) (non 3.1.3, mais tout ce qui vient après).

Questions connexes