2.2 KiB
Formulardaten und Dateien im Request
Sie können gleichzeitig Dateien und Formulardaten mit File
und Form
definieren.
/// info
Um hochgeladene Dateien und/oder Formulardaten zu empfangen, installieren Sie zuerst python-multipart
.
Z. B. pip install python-multipart
.
///
File
und Form
importieren
//// tab | Python 3.9+
{!> ../../../docs_src/request_forms_and_files/tutorial001_an_py39.py!}
////
//// tab | Python 3.8+
{!> ../../../docs_src/request_forms_and_files/tutorial001_an.py!}
////
//// tab | Python 3.8+ nicht annotiert
/// tip | "Tipp"
Bevorzugen Sie die Annotated
-Version, falls möglich.
///
{!> ../../../docs_src/request_forms_and_files/tutorial001.py!}
////
File
und Form
-Parameter definieren
Erstellen Sie Datei- und Formularparameter, so wie Sie es auch mit Body
und Query
machen würden:
//// tab | Python 3.9+
{!> ../../../docs_src/request_forms_and_files/tutorial001_an_py39.py!}
////
//// tab | Python 3.8+
{!> ../../../docs_src/request_forms_and_files/tutorial001_an.py!}
////
//// tab | Python 3.8+ nicht annotiert
/// tip | "Tipp"
Bevorzugen Sie die Annotated
-Version, falls möglich.
///
{!> ../../../docs_src/request_forms_and_files/tutorial001.py!}
////
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 gleichzeitig auch Body
-Felder deklarieren, welche Sie als JSON erwarten, da der Request den Body mittels multipart/form-data
statt application/json
kodiert.
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.