问题描述
|
我想知道解决这个问题的最佳方法。我正在尝试将HTML5画布上的用户绘制图像保存到数据库中,以便以后可以检索。
我可以使用以下代码为该图像创建base64数据字符串,并附加到一个简单的按钮clickhandler上:
var image_data = $(\"#drawing_canvas\").get(0).toDataURL(\'image/png\');
我打算将这些数据保存到我的数据库中,然后稍后使用类似以下的方法进行检索:
var myImage = new Image();
myImage.src = imgData;
ctx.drawImage(myImage,0);
但是,这些base64 \'strings \'似乎包含许多数据。我想知道是否有更好的方法将这些图像保存到数据库中?我还没有找到一种将实际图像保存为.png的方法。我可以在新的浏览器标签中将其以png格式打开,但这就是我目前遇到的问题。
还是将这些base64数据字符串存储在我的数据库中(我想是在\'text \'列中)会好吗?
提前致谢。
解决方法
您要使用BLOB类型。这是MySQL文档所说的:
BLOB值被视为二进制字符串(字节字符串)。它们没有字符集,并且排序和比较基于列值中字节的数字值。 TEXT值被视为非二进制字符串(字符字符串)。它们具有一个字符集,并且根据字符集的排序对值进行排序和比较。
http://dev.mysql.com/doc/refman/5.0/en/blob.html