我希望有人可以帮助我理解这一点。我有一个图片的base64字符串:
"data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."
我想使用 ember 的 createRecord 和 commit() 发送它:
this.get('store').createRecord(Emb.Painting, {name: newName, image: newImage});
然后我想将其转换为 StringIO 用于carrierwave并保存:
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'
? 任何帮助表示赞赏。