2017-01-09 1 views
0

Büroklammer wird für Bild-Uploads verwendet. Bilder in Base64-Formular hochgeladen wie folgt:Hochladen von Base64 über Büroklammer

class Photo < ActiveRecord::Base 

    before_save :set_image 
    attr_accessor :picture_data 

    has_attached_file :image 
    validates_attachment_content_type :image, :content_type => %w(image/jpeg image/jpg image/png) 

    def set_image 
    unless self.picture_data.nil? 
     data = StringIO.new(Base64.decode64(self.picture_data)) 
     self.image = data 
     self.picture_data = nil 
    end 
    end 

end 

Büroklammer richtig erkennt die content_type der base64 vergangen, aber content_type Validierung ist nicht passiert. Es speichert, was auch immer die Datei kommt.

Kann mir bitte jemand dabei helfen ?!

+0

Eigentlich bin ich verwirrt bei 'has_attached_file: image' und 'self.avatar = data' welches Feld tatsächlich für das Speicherbild verwendet? –

+0

Entschuldigung für den Mixer. Machte die Korrekturen. –

+0

Verweisen Sie auf diesen Link, vielleicht hilft er Ihnen. http://stackoverflow.com/questions/23675747/use-paperclip-for-saving-base64-images-obtetain-from-an-api –

Antwort

0

Sie müssen den before_validation Rückruf anstelle von before_save verwenden.

Verwandte Themen