Capítulo 15. Archivos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Vista previa

Además de atender las peticiones de la API y los contenidos tradicionales como el HTML, se espera que los servidores web gestionen las transferencias de archivos en ambas direcciones. Puede ser necesario transferir archivos muy grandes en trozosque no consuman demasiada memoria del sistema. También puedes proporcionar acceso a un directorio de archivos (y subdirectorios, hasta cualquier profundidad) con Stati⁠c​Files.

Soporte multiparte

Para manejar archivos grandes, las funciones de carga y descarga de FastAPI necesitan estos módulos adicionales :

Python-Multiparte

pip install python-multipart

archivos aio

pip install aiofiles

Cargar archivos

FastAPI se centra en el desarrollo de API, y la mayoría de los ejemplos de este libro han utilizado peticiones y respuestas JSON. Pero en el próximo capítulo verás formularios, que se tratan de forma diferente. Este capítulo trata de los archivos, que se tratan como formularios en algunos aspectos.

FastAPI ofrece dos técnicas para subir archivos:File() y UploadFile.

Archivo()

File() se utiliza como tipo para una subida directa de archivos. Tu función de ruta puede ser sincrónica (def) o asincrónica (async def), pero la versión asincrónica es mejor porque no atascará tu servidor web mientras se sube el archivo.

FastAPI extraerá el archivo en trozos y lo reensamblará en memoria, ...

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.