我用python写了一个代码,我从计算机上获得了图像作为对象,现在我想从MySQL数据库中获得该图像。知道我该怎么办吗?
这是我在连接数据库之前获取图像的代码,我从文件夹中读取图像作为对象:
import json
data = json.loads(response)
ipv4 = data['interfaces'][0]['ipv4']
我想做同样的事情,但是现在从我的数据库中开始,这是所需图像的表。
表:项目
project_name:varchar(25)(主键)
图片:longblob不为空
任何想法我该怎么做,谢谢?
答案 0 :(得分:0)
我对python不熟悉,但是您的问题困扰着我,所以我做了一些研究以了解事情是如何工作的,反正我还是这样做了:p
我希望这是您正在寻找的答复。这就是我刚才做的例子。
连接到数据库,下载文件并最后打开它
进口:
import mysql.connector
from tkinter import *
from PIL import ImageTk, Image
连接到数据库:
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="mydb"
)
选择图像并获得结果:
mycursor = mydb.cursor()
mycursor.execute("SELECT image FROM project")
myresult = mycursor.fetchone()
blob = myresult[0]
根据查询结果创建文件:
with open("filename.png", 'wb') as file:
file.write(blob)
最后用Tkinter打开它:
root = Tk()
img = ImageTk.PhotoImage(Image.open("filename.png"))
panel = Label(root, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
root.mainloop()