Вопрос касается работы с загрузкой файлов в FastAPI.
FastAPI использует классы UploadFile и File для обработки загрузки файлов через параметры формы.
FastAPI упрощает обработку файлов, предоставляя возможности для:
- Загрузки файлов: Класс UploadFile обрабатывает метаданные (имя файла, тип содержимого).
- Потоковой обработки: Загруженные файлы можно читать или записывать без предварительного сохранения на диск.
- Валидации: Использование параметров типа File позволяет задавать дополнительные ограничения.
Пример:
from fastapi import FastAPI, UploadFile, File
app = FastAPI()
@app.post("/upload/")
async def upload_file(file: UploadFile = File(...)):
content = await file.read()
return {"filename": file.filename, "content_type": file.content_type}
Когда использовать:
- Для API, где требуется обработка изображений, документов или других пользовательских файлов.