читать изображение из базы данных в Python - PullRequest
0 голосов
/ 28 февраля 2019

Я написал код на python и получил изображение с моего компьютера как объект, и теперь я хочу получить это изображение из базы данных MySQL.Любая идея, как я могу это сделать?

Вот мой код для получения изображения перед подключением к базе данных, я читаю изображение из своей папки как объект:

segimg = Image.open("result1.png") 
segimg = segimg.convert("RGB")

Я хочусделать то же самое, но теперь из моей базы данных, и вот таблица нужного изображения.

Таблица: проект

имя_проекта: varchar (25) (первичный ключ)

Изображение: longblob NOT NULL

Есть идеи, как мне это сделать, и спасибо?

1 Ответ

0 голосов
/ 28 февраля 2019

Я не знаком с 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...