相关疑难解决方法(0)

将base64图像转换为Carrierwave的StringIO

我希望有人可以帮助我理解这一点.我有一个图像的base64字符串:

"data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."
Run Code Online (Sandbox Code Playgroud)

我想使用ember的createRecord和commit()发送它:

this.get('store').createRecord(Emb.Painting, {name: newName, image: newImage});
Run Code Online (Sandbox Code Playgroud)

然后我想将它转换为StringIO for 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 )
Run Code Online (Sandbox Code Playgroud)

图像已保存.图像总是被破坏.我是否需要将我的base64字符串分解为:

data: '/9j/..'
type: 'image/jpeg'
Run Code Online (Sandbox Code Playgroud)

?任何帮助赞赏.

base64 ruby-on-rails carrierwave ember.js

5
推荐指数
2
解决办法
3926
查看次数

标签 统计

base64 ×1

carrierwave ×1

ember.js ×1

ruby-on-rails ×1