ruby 如何在Rails应用程序中保存base64图像作为文件

emeijp43  于 2023-10-18  发布在  Ruby
关注(0)|答案(1)|浏览(91)

我不能保存一个base64图像作为文件由控制器,并没有得到任何错误,我不想保存在数据库,只是在公共文件夹.
我使用Rails 4.2.8和Ruby 2.1,这是一个遗留应用程序,以及html2canvas来生成base64图像。
我的控制器def:

def save_image
  image = params[:image]
  file = "#{Rails.root}/public/dashboard.png"
  File.open(file,'wb') do |f|
    f.write Base64.decode64(image)
  end
  file.save
end

我尝试使用Tempfile和现在使用现有文件,以及“image = request.body ['image']”,都不起作用。
路线:

post 'save_image' => 'intranet/dashboard#save_image'

在html2canvas中调用post req函数:

html2canvas(document.getElementById('list')).then(canvas => {
        base64String = canvas.toDataURL();
        var url = '/save_image';
        $.ajax({
            type: "POST",
            url: url,
            dataType: 'text',
            data: {
                image : base64String
            }
        });
      });

没有任何警报日志,我不知道如何调试这一点。

rur96b6h

rur96b6h1#

我决定:

protect_from_forgery except: [:save_image]

相关问题