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

207
Vistas
Cómo guardar en el disco un archivo de tipo de contenido desconocido, al recibirlo como un flujo binario en una cadena. (Todos mis intentos corrompen el archivo)

Recibo una cadena de una API que es una secuencia binaria y un nombre de archivo, aquí hay un ejemplo (abreviado por brevedad).

 { filename: '002-000017.pdf' body: '%PDF-1.7\n\n4 0 obj\n(Identity)\nendobj\n5 0 obj\n(Adobe)\nendobj\n8 0 obj\n<<\n/Filter /FlateDecode\n/Length 181864\n/Length1 542744\n/Type /Stream\n>>\nstream\nx��}\t`�������}dw����~��\t9 @H6'\t�9 etc ' }

Otros archivos simplemente tienen \u001c\u0004N�v�$$\u0010$�\u0000

En el ejemplo anterior, es un archivo PDF, pero no sé qué tipo de contenido tendrá el archivo, podría ser .docx, .txt o incluso sin extensión de archivo. Además, el nombre no siempre tendrá una extensión. Tomo este archivo y lo convierto en blob, lo adjunto y hago clic en un ancla.

He intentado especificar ningún tipo, 'aplicación/desconocido' y 'aplicación/flujo de octetos'. Incluso intenté codificarlo en 'aplicación/pdf' para la muestra anterior, solo para ver si funcionaba. En todos los escenarios el pdf está en blanco. (O ilegible con otros tipos de archivos, docx, por ejemplo, simplemente falla cuando se abre con Word).

La excepción es .txt, cualquier archivo .txt funciona perfectamente.

He confirmado que la cadena se puede convertir manualmente y se puede leer, lo hice usando PowerShell sin problemas. El problema es que estoy haciendo algo mal en mi código javascript del lado web. ¿Que me estoy perdiendo aqui?

Código:

 const { filename } = response const blob = new Blob([response.body]) const blobURL = window.URL.createObjectURL(blob); // Using React Ref to handle the anchor. downloadAnchor!.current!.href = blobURL; downloadAnchor!.current!.download = 'filename'; downloadAnchor!.current!.click();
about 4 years ago · Juan Pablo Isaza
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