@2vq

Как Python сохранить скриншот в БД?

Собственно нужно сделать скриншот и записать его в Mysql (BLOB)
Знаю что изображения хранить в базе не логично))но надо
В Python новичок не судите строго)
делаю так:
#!/usr/bin/env python

import mysql.connector
from mysql.connector import Error
from PIL import Image, ImageGrab
from StringIO import StringIO

def Screen():
    screen = ImageGrab.grab()
    buf = StringIO()
    screen.save(buf,'PNG')
    return buf.getvalue()

try:
    db=mysql.connector.connect(host='x.x.x.',database='test',user='test',password='qwerty')
    if db.is_connected():
        cur = db.cursor()
        data = Screen()
        cur.execute("INSERT INTO ts (screen) VALUES (%s)"% (data))
        db.commit()
        
except Error as e:
    print "MySQL Error [%d]: %s" % (e.args[0], e.args[1])
finally:
        db.close()

выводит
MySQL Error [-1]: Failed getting Error information (UnicodeDecodeError('utf8', "Invalid utf8 character string: '\x89PNG'", 32, 33, 'invalid start byte'))

что сделал не так ??
  • Вопрос задан
  • 299 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы