Tôi hy vọng ai đó có thể giúp tôi hiểu điều này. Tôi có một chuỗi base64 cho một hình ảnh:Chuyển đổi hình ảnh base64 thành StringIO cho Carrierwave
"data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."
Tôi muốn gửi nó bằng cách sử createRecord ember và cam kết():
this.get('store').createRecord(Emb.Painting, {name: newName, image: newImage});
Sau đó, tôi muốn chuyển nó sang StringIO cho carrierwave và lưu nó :
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)
Hình ảnh được lưu. Hình ảnh luôn bị hỏng. Tôi có cần phá vỡ chuỗi base64 của tôi thành:
data: '/9j/..'
type: 'image/jpeg'
? Bất kỳ trợ giúp nào được đánh giá cao.
Thật vậy, giống như tài liệu ở đây: http://ruby-doc.org/stdlib-2.0/libdoc/base64/rdoc/Base64.html – Goodwine