Как я могу загружать и скачивать фотографии из базы данных Postgresql?Python

Программы на Python
Anonymous
Как я могу загружать и скачивать фотографии из базы данных Postgresql?

Сообщение Anonymous »

Пишу бота на aiogram, в качестве СУБД взял PostreSQL. База данных содержит идентификатор продукта, фотографию, название и описание с ценой. Попробовал загрузить url фото в базу, но при выводе необходимо, чтобы выдавался не url, а само изображение. Или есть другой способ загрузить изображение без URL?
Важно: изображения должны храниться в базе данных
import psycopg2
импортировать asyncpg
импортировать asyncio
импортировать айограмму
из типов импорта айограмм
класса BD1:
def ss():
try:
conn = psycopg2.connect(host="localhost",
port=5432,
database="postgres",
user="postgres",
password="135")
cur = conn.cursor()
print("Database opened successfully")
# cur.execute("SELECT photo FROM proba")
# ph = cur.fetchone()[0]
# photo = types.InputFile(ph)

# await bot.send_photo(message.chat.id, photo, caption='Check out this photo!')

cur.execute("""SELECT * FROM perfumes""")
query_results = cur.fetchall()
# cur.execute("SELECT photo FROM proba ;")
# photo = cur.fetchone()[0]
#
# # Сохранение изображения в файл
# with open("image.jpg", "wb") as file:
# file.write(photo)
text = '\n\n'.join(['\n\n'.join(map(str, x)) for x in query_results])
return (str(text))

except psycopg2.Error as e:
print("Error connecting to database:", e)
finally:
cur.close()
conn.close()
# cur.execute("""SELECT * FROM perfumes""")
# query_results = cur.fetchall()
# text = '\n\n'.join([', '.join(map(str, x)) for x in query_results])
# return (str(text))

handlers.py:
@router.callback_query()
async def callback_keyboard(callback: CallbackQuery):
if callback.data == 'teas':
await callback.answer()
await callback.message.answer(BD1.ss())


Подробнее здесь: https://stackoverflow.com/questions/786 ... l-database

Вернуться в «Python»