Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

626
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda