私は誰かがこれを理解するのを助けることを望んでいます。私は、画像のためのbase64文字列を持っている:Carrierwaveのbase64イメージをStringIOに変換する
"data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."
私は燃えさしのcreateRecordを使用してそれを送信して(コミットしたいと思います):
this.get('store').createRecord(Emb.Painting, {name: newName, image: newImage});
その後、私はcarrierwaveためにStringIOに変換し、それを保存したいです:
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)
画像が保存されます。イメージは常に破損しています。私は自分のbase64ストリングを壊す必要がありますか?
data: '/9j/..'
type: 'image/jpeg'
?どんな助けもありがたい。
確かに、ここに書かれているように、http://ruby-doc.org/stdlib-2.0/libdoc/base64/rdoc/Base64.html – Goodwine