読者です 読者をやめる 読者になる 読者になる

Rails で Base64 エンコードされたデータを Carrierwave で保存する

carrierwave rails ruby
class Api::FilesController < Api::ApplicationController

  def create

    # file = params[:data]
    data_str = params[:data_str]

    file = File.new
    # file.data = data
    file.data_str = data_str

  end

end
class File < ActiveRecord::Base

  mount_uploader :data, FileDataUploader

  def data_str= v
    f = Tempfile.open "temp", encoding: 'ascii-8bit'
    f.write Base64.decode64(v)
    self.data = f
  end

end

さらに良い方法はこちら
Rails で Base64 エンコードされた文字を Carrierwave で保存する最も良い方法 - unching-starのブログ