UploadFile & File() este o componentă esențială în ecosistemul FastAPI. Încărcarea eficientă a fișierelor prin streaming asincron cu consum optim de memorie RAM.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
from fastapi import UploadFile, File
@app.post("/upload-avatar")
async def incarca_avatar(fisier: UploadFile = File(...)):
continut = await fisier.read()
return {"nume_fisier": fisier.filename, "dimensiune": len(continut)}
Bune Practici în Producție
- Arhitectură și Tipizare: Folosiți DTO-uri, validare strictă și principii de decuplare (Inversion of Control).
- Performanță: Evitați interogările N+1, folosiți mecanisme de caching și rute asincrone unde este cazul.
- Securitate: Validați întotdeauna datele de intrare și aplicați filtre de autorizare pe toate endpoint-urile sensibile.