Ошибка при сохранении изображения в поле с типом BYTEA Postgresql
Хочу сохранить изображение в в колонку с типом BYTEA с помощью psycopg2.
Вот строчка, которая отвечает за бинарное изображение:
f"{file_fields['file_data']},"
Я в SQL не очень силён и предположил, что возможно мне нужны кавычки для передачи данных и попробовал сделать вот такой вариант:
f"'{file_fields['file_data']}',"
При попытке сохранения без кавычек выдаёт следующее:
psycopg2.errors.SyntaxError: syntax error at or near ".5"
LINE 1: ...b9\x9f\x01D\x91\x0c\x192\xb8\x9f\x00\x00\x00\xd2\'.5\x90\x1e...
^
А в варианте с кавычками следующее:
psycopg2.errors.SyntaxError: syntax error at or near "\"
LINE 1: ...3a','fd.png','image/png','86510','(2579, 700)','b'\x89PNG\r\...
^
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
from psycopg2 import connect
conn = connect(
'***********************************'
)
cur = conn.cursor()
cur.execute(
"""
create table if not exists images
(
id smallserial,
data bytea
);
"""
)
with open('2022-01-29_004141.png', 'rb') as img:
cur.execute(
"""
insert into public.images (data) values (%s);
""",
[img.read()]
)
conn.commit()
