2011-05-27 107 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