我想知道解决这个问题的最佳方法。我正在尝试将HTML5画布上的用户绘制图像保存到我的数据库中,以便稍后检索它。
我使用以下代码创建了图像的base64数据字符串,连接到一个简单的按钮clickhandler:
var image_data = $("#drawing_canvas").get(0).toDataURL('image/png');
我计划将这些数据保存到我的数据库中,然后稍后使用以下内容检索它:
var myImage = new Image();
myImage.src = imgData;
ctx.drawImage(myImage, 0, 0);
但是,这些base64'字符串'似乎包含大量数据。我想知道是否有更好的方法将这些图像保存到我的数据库中?我还没有想出一种将实际图像保存为.png的方法。我可以把它作为一个新的浏览器标签中的png打开,但那是我现在卡住的地方。
或者可以将这些base64数据字符串存储在我的数据库中(我想是一个'text'列)?
提前致谢。
答案 0 :(得分:3)
您想使用BLOB类型。以下是MySQL文档对此的说法:
BLOB值被视为二进制字符串(字节字符串)。它们没有字符集,排序和比较基于列值中字节的数值。 TEXT值被视为非二进制字符串(字符串)。它们具有字符集,并根据字符集的整理对值进行排序和比较。