Как отобразить изображение типа байтов в шаблоне HTML/Jinja2 с помощью FASTAPI?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как отобразить изображение типа байтов в шаблоне HTML/Jinja2 с помощью FASTAPI?

Сообщение Anonymous »

У меня есть приложение Fastapi, которое получает изображение от API. Это изображение хранится в переменной с типом: Bytes .
Я хочу отобразить изображение в шаблоне HTML/Jinja2 (без необходимости его скачать). Я следовал многим учебным пособиям, но не смог найти решение.

Код: Выделить всё

@app.get("/{id}")
async def root(request: Request, id: str):
picture = await get_online_person()

data = base64.b64encode(picture)  # convert to base64 as bytes
data = data.decode()  # convert bytes to string

# str_equivalent_image = base64.b64encode(img_buffer.getvalue()).decode()
img_tag = '
[img]data:image/png;base64,{}[/img]
'.format(data)
return templates.TemplateResponse(
"index.html", {"request": request, "img": img_tag}
)
< /code>
Все, что я получаю в HTML, это следующее: (как текст на странице, а не из исходного кода) < /p>
    
[img]data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgI
hEBAxEB/8QAHgAAAQUBAQEBAQAAAAAAAAAABQIDBAYHAQgACQr/xAAcAQACAwEBAQEAAAAAAAAAAAACAwABBAUGBwj/2gAMAwEAAhADEAAAAfEpwSR+a+9IPR3c7347iwscmWyYchEIJjn+MbJj/c4FFbbb9J5....................
Примечание. Для людей, которые отмечают мой вопрос дублированным разговорам о Urllib, я не могу использовать urllib , потому что изображение, которое я получаю, от ANA API, и использование их прямого URL будет привести к запрету 403, поэтому я должен использовать их Python API, чтобы получить изображение.>

Подробнее здесь: https://stackoverflow.com/questions/737 ... ng-fastapi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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