Ruby on rails 使用回形针保存base64图像

Ruby on rails 使用回形针保存base64图像,ruby-on-rails,ruby,canvas,base64,paperclip,Ruby On Rails,Ruby,Canvas,Base64,Paperclip,我目前正在开发一个将base64编码图像保存为普通png图像的应用程序。我的控制器的创建操作中有以下代码: if @campaign.save unless params[:campaign][:design_attributes][:front_svg].empty? data = params[:campaign][:design_attributes][:front_svg] File.open(params[:campaign][:desig

我目前正在开发一个将base64编码图像保存为普通png图像的应用程序。我的控制器的创建操作中有以下代码:

if @campaign.save
      unless params[:campaign][:design_attributes][:front_svg].empty?
        data =  params[:campaign][:design_attributes][:front_svg]
        File.open(params[:campaign][:design_attributes][:img_front_file_name], 'wb') do |f|
          f.write(ActiveSupport::Base64.decode64(data))
        end
        f = File.open(params[:campaign][:design_attributes][:img_front_file_name])
        @campaign.design.img_front = f
      end
end
front_svg
params包含base64数据。当我尝试调用操作时,出现以下错误:

没有将nil隐式转换为字符串


如何使用回形针保存base64编码的图像?

更改
f。像这样编写

decoded_data = ActiveSupport::Base64.decode64(data)
f.write(StringIO.new(decoded_data))

更改
f.这样写

decoded_data = ActiveSupport::Base64.decode64(data)
f.write(StringIO.new(decoded_data))

你能在这里发布你的参数值吗?你能在这里发布你的参数值吗?你能在这里发布你的参数值吗?你能在这里发布你的参数值吗,wb')do | f |
我遵循了你的方法,在这一行中遇到了前面提到的错误:
File.open(params[:campaign][:design_attributes][:img_front_File_name],'wb')do | f |
我遵循了你的方法,在这一行中遇到了前面提到的错误:
File.opendo | f |