Как отобразить загруженное изображение на странице HTML с помощью FastAPI и Jinja2?Python

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

Сообщение Anonymous »

Я использую FastAPI и Jinja2 для обслуживания HTML-страницы для загрузки файла изображения, а затем открываю другую ссылку HTML с именем загруженного изображения, чтобы показать это изображение. Несмотря на то, что мне удалось заставить работать часть загрузки и ссылку на загруженное изображение, мне не удалось заставить работать тег src для фактического отображения изображения. Как я могу это решить?
Это main.py:

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

from fastapi import FastAPI, File, UploadFile,Request
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates

app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
""" upload file and save it to local """
@app.post("/upload-file")
async def upload_file(file: UploadFile = File(...)):
with open(file.filename, "wb") as f:
f.write(file.file.read())
return {"filename": file.filename}

''' create html page to show uploaded file '''
@app.get("/")
async def root():
html_content = """


Upload File


Upload File






"""
return HTMLResponse(content=html_content)

templates = Jinja2Templates(directory="templates")

@app.get("/{filename}", response_class=HTMLResponse)
async def read_item(request: Request, filename: str):
return templates.TemplateResponse("template.html", {"request":  request,"filename": filename})
а это template.html:

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

 


HTML img Tag



[img] [/img]


Я открыт для лучших/более простых способов достижения необходимых результатов. Спасибо.

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

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

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

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

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

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

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