誰かがこれを理解するのを手伝ってくれることを願っています。画像の base64 文字列があります。
"data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."
ember の createRecord と commit() を使用して送信したいと思います。
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'
? どんな助けでも感謝します。