class ImageUploader < CarrierWave::Uploader::base class FilelessIO < StringIO attr_accessor :original_filename attr_accessor :content_type end before :cache, :convert_base64 def convert_base64(file) if file.respond_to?(:original_filename) && file.original_filename.match(/^base64:/) fname = file.original_filename.gsub(/^base64:/, '') ctype = file.content_type depred = base64.depre64(file.read) file.file.tempfile.close! depred = FilelessIO.new(depred) depred.original_filename = fname depred.content_type = ctype file.__send__ :file=, depred end file end



