Problemas Para Mostrar Imagen Blob

Hola buen dia a todos, si alguien me puede ayudar, he intentado mostrar una imagen en un campo de tipo blob, en codigo php normal la imagen me la despliga de la forma normal colocando un header content-type del tipo de la imagen y haciendo un echo a la variable que la contiene, pero en yii no me lo permite, cuando le especifico el header este me ocasiona un error.

Me pueden ayudar con el tema,

Gracias,

Creo que hay un error de concepto acá.

Recuerde que no podemo "imprimir" una imagen en un archivo HTML…

Lo que se hace es agregar una etiqueta <IMG> que contiene la ruta a la imagen.

El problema no es Yii, sino la forma en que funciona el lenguaje HTML en sí. (Realmente sí se puede embeber una imagen, pero es otra historia, y solo se recomienda en casos específicos, bajo circunstancias específicas y con condificación base64)

Lo que le está sucediendo es que al tratar de enviar un encabezado (con header) produce un error porque tal vez ya se ha enviado contenido.

Solución (Ambas obligatorias):

  • Debe separar la generación de la imagen a un controlador/acción que haga ese proceso y devuelva la imagen con el respectivo Content-Type.

  • Desde su controlador/acción actual, debe ingresar la ruta del controlador/acción del paso anterior, en el lugar que quiere imprimir la imagen.

Desde la vista:




echo CHtml::image($this->createUrl('suControlador/generarImagen', 'parametro1'=>'xxx'));



Saludos.