2011-06-13 12 views
5

El problema era que el encabezado HTTP ACCEPT no era aceptado por Restify, el código de representación de imágenes está bien.convierte una cadena de imagen base64 en un archivo de imagen que se puede servir a navegadores utilizando node.js


Tengo una imagen codificada como una cadena de base64, y quiero mostrar esto como una imagen usando node.js. He actualmente tiene el siguiente código (estoy usando Restify), que procesa la imagen en Chrome bien, pero la imagen no hace que en otros navegadores (tratado IE9, Firefox 4, el navegador de Android):

var decodedBuffer = new Buffer(dataString,"base64");    
    res.send({ 
      code: 200, 
      headers: {'Content-Type': 'image/png', 'Content-Length': decodedBuffer.length}, 
      noEnd: true        
    });  

    res.write(decodedBuffer);      
    res.end(); 

¿Alguien capaz de arrojar algo de luz sobre lo que podría estar haciendo mal?

Gracias

+0

lo que los datos que recibe de servidor? intente curl/wget image y ábralo en el editor de imágenes. ¿Es png? –

+0

@Andy Britcliffe si encuentra la solución, por favor ayúdenos díganos su solución. Me enfrenté al mismo problema que tú ... Gracias ... – Tareq

Respuesta

1

Uso data URI syntax, lo que significa que tiene que prefijar la respuesta con el protocolo de datos y el tipo MIME, además de especificar la codificación base64:

res.write("data:image/png;base64,"+decodedBuffer); 
Cuestiones relacionadas