Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

625
Vistas
¿El tamaño del PDF rompe FastAPI usando python-multipart?

Estoy intentando subir un PDF a FastAPI . Después de convertir el PDF en un blob base64 y almacenarlo en un archivo txt, PUBLICO este archivo en FastAPI usando Postman.

Este es mi código del lado del servidor:

 from fastapi import FastAPI, File, UploadFile import base64 app = FastAPI() @app.post("/uploadfile/") async def create_upload_file(file: UploadFile = File(...)): contents = await file.read() blob = base64.b64decode(contents) pdf = open('result.pdf','wb') pdf.write(blob) pdf.close() return {"filename": file.filename}

Este procedimiento funciona bien para un documento PDF de una sola página con un tamaño de 279 KB (tamaño de blob: 372 KB), pero no para un documento de varias páginas con un tamaño de 1,8 MB (tamaño de blob: 2,4 MB).

Cuando lo intento, recibo la siguiente ADVERTENCIA y una respuesta de solicitud incorrecta 400 (junto con la respuesta "detalle": "Hubo un error al analizar el cuerpo"): "No se encontró el carácter de límite 55 en el índice 2"

Estoy seguro de que debe haber una explicación para este comportamiento. ¿Tal vez tiene algo que ver con async?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Lo más probable es que se trate de un problema al guardar el archivo usando open() .

Para archivos grandes, pdf.close() se ejecutará antes pdf.write() haya terminado de guardar todo el contenido del archivo.

Para asegurarse de que todo el archivo se escriba antes de que se cierre, use with algo como esto:

 with open('failed.pdf', 'wb') as outfile: outfile.write(blob)

Usando el with usted no necesitará close() después de escribir. with también debe considerarse una mejor práctica sobre guardar el archivo en una variable local.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda