2017-06-13 72 views
0

我想這個問題可能會被指控重複,但老實說,我無法找到我的方式儘管花了很長時間在這裏和那裏摸索。Python,Sqlite - 如何將圖像存儲(作爲Blob或base64字符串)在tkinter標籤上的sqlite數據庫

這是直截了當的圖像在一個SQLite數據庫存儲作爲Blob但在某種程度上這是適合我的預期使用反向動作(這是檢索該圖像爲了顯示標籤)不是。有一個不接受GUID here,我希望有人驗證,解釋和糾正它(例如我可以使用STR()的代替的ToString()在這一行?)

data = cStringIO.StringIO(results.tostring())

有還有很多關於圖像可以作爲base64字符串存儲在數據庫中的討論。我認爲這會使檢索和顯示過程變得更簡單,也許會在存儲時以犧牲額外的操作爲代價(通過我找不到具體的指導如何做到這一點)。

請給出一些外行人的指示,這將非常感激。

回答

0

你可以用下面的方法將它變成一個Image對象,然後tkinter可以通過一個base64字符串的標籤(或其他地方)顯示。

from PIL import Image 
import base64, io 
# Get the base64 string 
Image.open(io.BytesIO(base64.b64decode(data))) 
+0

如果圖像被存儲爲Blob類型會怎麼樣? 'Image.open(io.BytesIO(檢索的Blob字段))'工作嗎? – Ali

+0

它爲我工作;) – Ali

相關問題