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

479
Visualizações
Javascript: ¿almacenar y mostrar temporalmente la imagen recibida del backend como datos binarios?

Actualmente estoy tratando de mostrar una imagen, que recibo de un servidor back-end en una forma/formato particular, en la pantalla del navegador.

Mi problema está estrechamente relacionado con este problema, para el cual no existe una respuesta real.

Aquí hay una captura de pantalla que muestra cómo se ve la respuesta del servidor backend:

ingrese la descripción de la imagen aquí

payload.data contiene los datos de la imagen, que es una nube verde (también adjunto al final de esta publicación como referencia).

Mi primera pregunta, probablemente muy estúpida, sería: ¿Qué tipo de formato/codificación es esa?

De todos modos, esto es lo que luego traté de procesar los datos:

 const blob = new Blob([action.payload.data], { //contains the data type: action.payload.headers["content-type"] // 'image/png' }) console.log("blob: ", blob); const url = URL.createObjectURL(blob); console.log("url : ", url)

Como resultado, el blob se crea correctamente, así como la URL. Sin embargo, cuando abro ese enlace, no se muestra ninguna imagen.

Estoy atascado aquí y agradecería cualquier tipo de pista útil que señale dónde estoy cometiendo un error aquí.

Muchas gracias por su apoyo de antemano.

PD: Como prometí, aquí está la imagen png real: ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Parece que su atributo data todavía está en formato binario. Debe convertir el hexadecimal en base64 para mostrar la imagen. En primer lugar, si el servidor del que obtiene el formulario de imagen es suyo, recomendaría codificar la imagen en el servidor antes de enviarla al cliente. Si el servidor no es suyo y no puede cambiar los datos que se devuelven, intente algo como esto:

 function hexToBase64(str) { return btoa(String.fromCharCode.apply(null, str.replace(/\r|\n/g, "").replace(/([\da-fA-F]{2}) ?/g, "0x$1 ").replace(/ +$/, "").split(" "))); }

Y luego utilízalo así:

 const img = document.createElement('img'); img.src = 'data:image/jpeg;base64,' + hexToBase64('your-binary-data'); document.body.appendChild(img);

referencia: Cómo mostrar datos binarios como imagen - extjs 4

about 4 years ago · Juan Pablo Isaza 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