Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

206
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!