Mam nadzieję, że ktoś może mi pomóc to zrozumieć. Mam ciąg base64 do obrazu:Konwertuj obraz base64 do StringIO dla Carrierwave
"data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."
chciałbym wysłać go za pomocą Ember za createRecord i commit():
this.get('store').createRecord(Emb.Painting, {name: newName, image: newImage});
Następnie chcę, aby przekształcić go StringIO dla carrierwave i zapisać go :
StringIO.class_eval { def original_filename; "stringiohaxx.jpg"; end }
io = StringIO.new(Base64.decode64(params[:painting][:image]))
@painting = Painting.create(:name => params[:painting][:name], :image => io)
Zdjęcie zostanie zapisane. Obraz jest zawsze uszkodzony. Czy muszę złamać mój łańcuch podstawowy base64:
data: '/9j/..'
type: 'image/jpeg'
? Każda pomoc doceniona.
Rzeczywiście, tak jak dokumentacja stwierdza tutaj: http://ruby-doc.org/stdlib-2.0/libdoc/base64/rdoc/Base64.html – Goodwine