Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/11/2011, 06:37
Avatar de Aijoona
Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 10 años, 4 meses
Puntos: 343
Respuesta: Decodificar img src en base64 al imprimir por pantalla.

Bueno, si ese es el caso mi recomendación es que hagas un parser que reemplace tus imágenes con data uris por imagenes reales.

Dado el input:
Código HTML:
Ver original
  1. <img class="result" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEW/v7////+Zw/90AAAAEUlEQVQI12P4z8CAFWEX/Q8Afr8P8erzE9cAAAAASUVORK5CYII=">

Devolver:
Código HTML:
Ver original
  1. <img class="result" src="/path/to/images/id">

Además, obviamente de crear la imagen correspondiente en base al string en base64. Para obtener una imagen de dicho string podes usar algo como esto:

Código PHP:
Ver original
  1. /**
  2.      * Recibe un image uri y lo convierte en
  3.      * el binario correspondiente
  4.      *
  5.      * @param $blob
  6.      * @return bool|string
  7.      */
  8.     private function base64ToImage($blob) {
  9.         $parts = explode(',', $blob);
  10.         $blob = end($parts);
  11.  
  12.         $blob = base64_decode($blob);
  13.  
  14.         // Validaciones de seguridad
  15.         if (!$this->isValidImageContent($blob)) {
  16.             return false;
  17.         }
  18.  
  19.         return $blob;
  20.     }

El parser en este caso puede ser una función con unas pocas expresiones regulares, no debería complicarte demasiado.
__________________
blog | @aijoona