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

214
Visualizações
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 à 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