2011-05-27 99 views
2

我想知道解决这个问题的最佳方法。我试图将HTML5画布上的用户绘制图像保存到我的数据库中,以便稍后检索它。保存画布绘制的图像到mysql数据库

我得到尽可能创造与下面的代码的图像,钩到一个简单的按钮clickHandler事件中的Base64数据串:

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数据字符串存储在我的数据库中(我想,这是一个'文本'列)?

在此先感谢。

回答

3

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

将BLOB值视为二进制字符串(字节字符串)。他们没有字符集,排序和比较基于列值中字节的数值。 TEXT值被视为非二进制字符串(字符串)。他们有一个字符集,并且根据字符集的排序规则对值进行排序和比较。

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