как в БД передать фото

Рейтинг: 0Ответов: 0Опубликовано: 13.04.2023

подскажите, пожалуйста, как в БД можно передать фото которые было записано в переменную с 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()

введите сюда описание изображениявведите сюда описание изображения

Ответы

Ответов пока нет.