我在Rails中创建一个应用程序,用户可以使用JavaScript在html5画布上绘图。使用JavaScript,我已经能够将画布转换为图像,因此用户可以轻松地右键单击画布并保存图像:
var img = new Image;
img.onload = function(){
ctx.drawImage(img,0,0);
};
img.src = window.mapImgUrl;
然而,问题是画布存在于表格上。我希望图像结果以某种方式添加到数据库中,以便我可以在应用程序的其他视图上显示以前的图形。我设置了CarrierWave和AWS用于图片上传,但我无法找到一种方法来重新配置设置,以便在提交表单时将画布图像视为上传。这是否必须涉及AJAX或base64?或者是否有某种方法可以使用CarrierWave?
答案 0 :(得分:0)
您所要做的就是将图像作为base-64发送到服务器,然后在需要时重新使用base64源。
var imgbuffer = canvas.toDataURL(); // canvas, not ctx
否则它可能不起作用,因为图像格式字节被解释并且可能被其他字符替换。这就是base-64最好的原因。