web-dev-qa-db-fra.com

Comment retourner une image dans Fastapi?

Utilisation du python Module Fastapi , je ne peux pas comprendre comment renvoyer une image. In flask Je ferais quelque chose comme ce:

@app.route("/vector_image", methods=["POST"])
def image_endpoint():
    # img = ... # Create the image here
    return Response(img, mimetype="image/png")

quel est l'appel correspondant dans ce module?

21
Hooked

Ce n'est pas encore documenté correctement, mais vous pouvez utiliser n'importe quoi de Starlette.

Donc, vous pouvez utiliser un FileResponse s'il s'agit d'un fichier sur disque avec un chemin: https://www.starlette.io/responses/#fileresponse

Si c'est un objet ressemblant à un fichier créé dans votre opération de chemin , dans la prochaine version stable de Starlette (utilisée en interne par Fastapi), vous pourrez également renvoyez-le dans un StreamingResponse.

3
tiangolo