将画布绘制的图像保存到mysql数据库

时间:2011-05-27 21:36:27

标签: mysql database html5 canvas base64

我想知道解决这个问题的最佳方法。我正在尝试将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'列)?

提前致谢。

1 个答案:

答案 0 :(得分:3)

您想使用BLOB类型。以下是MySQL文档对此的说法:

  

BLOB值被视为二进制字符串(字节字符串)。它们没有字符集,排序和比较基于列值中字节的数值。 TEXT值被视为非二进制字符串(字符串)。它们具有字符集,并根据字符集的整理对值进行排序和比较。

http://dev.mysql.com/doc/refman/5.0/en/blob.html