You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.7 KiB

Formulardaten und Dateien im Request

Sie können gleichzeitig Dateien und Formulardaten mit File und Form definieren.

/// info | Info

Um hochgeladene Dateien und/oder Formulardaten zu empfangen, installieren Sie zuerst python-multipart.

Stellen Sie sicher, dass Sie eine virtuelle Umgebung{.internal-link target=_blank} erstellen, diese aktivieren und es dann installieren, z. B.:

$ pip install python-multipart

///

File und Form importieren

{* ../../docs_src/request_forms_and_files/tutorial001_an_py39.py hl[3] *}

File und Form-Parameter definieren

Erstellen Sie Datei- und Formularparameter, so wie Sie es auch mit Body oder Query machen würden:

{* ../../docs_src/request_forms_and_files/tutorial001_an_py39.py hl[10:12] *}

Die Datei- und Formularfelder werden als Formulardaten hochgeladen, und Sie erhalten diese Dateien und Formularfelder.

Und Sie können einige der Dateien als bytes und einige als UploadFile deklarieren.

/// warning | Achtung

Sie können mehrere File- und Form-Parameter in einer Pfadoperation deklarieren, aber Sie können nicht auch Body-Felder deklarieren, die Sie als JSON erwarten, da der Body des Requests mittels multipart/form-data statt application/json kodiert sein wird.

Das ist keine Limitation von FastAPI, sondern Teil des HTTP-Protokolls.

///

Zusammenfassung

Verwenden Sie File und Form zusammen, wenn Sie Daten und Dateien zusammen im selben Request empfangen müssen.