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

问题描述 投票:0回答:1

我无法通过控制器将 Base64 图像保存为文件,并且不会收到任何错误,我不想保存在数据库中,只是保存在公共文件夹中。

我正在使用 Rails 4.2.8 和 Ruby 2.1,它是一个遗留应用程序,并使用 html2canvas 来生成 base64 图像。

我的控制器定义:

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

我尝试使用临时文件并现在使用现有文件,以及“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
            }
        });
      });

日志上没有任何警报,我不知道如何调试它。

javascript ruby-on-rails ruby base64 html2canvas
1个回答
0
投票

我决定这样做:

protect_from_forgery except: [:save_image]
© www.soinside.com 2019 - 2024. All rights reserved.