как в БД передать фото
подскажите, пожалуйста, как в БД можно передать фото которые было записано в переменную с FSM.
Суть бота в том что я добавляю товар через тг в базу данных, все параметры передаются (бренд, модель, цена), но фото я не смог передать, его нужно передать так, чтобы я мог потом из БД вывести его в тг в формате jpg (чтобы пользователю была видна не ссылка на фото), а обычная фотография. Объяснение как у чайника, но надеюсь вы поняли)
код вывода FSM и добавление всех параметров в БД (кроме фото, т.к не смог его передать)
@dp.message_handler(state=Form.photo, content_types=types.ContentType.PHOTO)
async def process_text(message: types.Message, state: FSMContext):
async with state.proxy() as data:
photo_item = data['photo'] = message.photo[-1]
send_shoes = f"brend: {data['brend']}\n" \
f"model: {data['model']}\n" \
f"price: {data['price']}"
brend_item = f"brend: {data['brend']}"
model_item = f"model: {data['model']}"
price_item = f"price: {data['price']}"
await bot.send_message(message.chat.id, send_shoes)
await bot.send_photo(message.chat.id, photo=photo_item.file_id)
db.db_table_items(brang=brend_item, price=price_item, model=model_item)
await state.finish()
Код БД:
async def db_start():
cur.execute("CREATE TABLE IF NOT EXISTS items("
"i_id INTEGER PRIMARY KEY AUTOINCREMENT, "
"model TEXT,"
"price INTEGER,"
"photo_it TEXT,"
"brang TEXT)")
db.commit()
def db_table_items(model: str, price: int, brang: str, phto_it: str):
cur.execute('INSERT INTO items (model, price, brang, photo_it) VALUES (?, ?, ?, ?)',
(model, price, brang))
db.commit()
Источник: Stack Overflow на русском