Kapitel 15. Dateien

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Vorschau

Neben der Bearbeitung von API-Anfragen und herkömmlichen Inhalten wie HTML müssen Webserver auch Dateiübertragungen in beide Richtungen bewältigen. Sehr große Dateien müssen unter Umständen in Teilenübertragen werden, die den Speicher des Systems nicht zu sehr beanspruchen. Du kannst auch den Zugriff auf ein Verzeichnis mit Dateien (und Unterverzeichnissen in beliebiger Tiefe) mit Stati⁠c​Files ermöglichen.

Mehrteilige Unterstützung

Damit mit großen Dateien umgehen kann, benötigen die Up- und Download-Funktionen der FastAPI diese zusätzlichen Module:

Python-Multipart

pip install python-multipart

aio-files

pip install aiofiles

Dateien hochladen

FastAPI zielt auf die API-Entwicklung ab, und die meisten Beispiele in diesem Buch haben JSON-Anfragen und -Antworten verwendet. Im nächsten Kapitel geht es jedoch um Formulare, die anders behandelt werden. Dieses Kapitel behandelt Dateien, die in gewisser Weise wie Formulare behandelt werden.

FastAPI bietet zwei Techniken für Datei-Uploads:File() und UploadFile.

Datei()

File() wird als Typ für einen direkten Datei-Upload verwendet. Deine Pfadfunktion kann synchron (def) oder asynchron (async def) sein, aber die asynchrone Version ist besser, weil sie deinen Webserver nicht belastet, während die Datei hochgeladen wird.

FastAPI holt sich die Datei in Stücken und setzt ...

Get FastAPI now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.