Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Duda Con Mostrar/descargar Imagen

$
0
0
Saludos comunidad,

Resulta que soy nuevo en YII, y me encuentro entrampado, por lo que pido su gentil colaboración. Resulta que tengo un formulario, que me permite subir una imagen al servidor, y guardar la ruta de la imagen en la base de datos (MySQL), esto lo hago básicamente en el controlador, de la siguiente manera.

public function actionUpdate()
	{
                $model=$this->loadModel($id);
                $rut = $model->rut;
                $ruta = Yii::getPathOfAlias('webroot').'/images/fotocarnet/';
		// Uncomment the following line if AJAX validation is needed
		// $this->performAjaxValidation($model);

		if(isset($_POST['Cliente']))
		{
			$model->attributes=$_POST['Cliente'];
                        
                        //Valida Directorio fotocarnet
                        if(!file_exists(Yii::getPathOfAlias('webroot').'/images/fotocarnet/'))
                            mkdir(Yii::getPathOfAlias('webroot').'/images/fotocarnet/',0777,true);
                        
                        //Valida JPG
                        if($model->fotocopiacarnet->getExtensionName() == "jpg"){
                            $model->fotocopiacarnet->saveAs(Yii::getPathOfAlias('webroot').'/images/fotocarnet/'.$rut.".jpg", 0777); //Guarda imagen en el directorio
                            $model->fotocopiacarnet = $ruta.$rut.".jpg"; //Transforma valor a guardar en la DB
                        }
                        
                        //Valida PNG
                        else if($model->fotocopiacarnet->getExtensionName() == "png"){
                            $model->fotocopiacarnet->saveAs(Yii::getPathOfAlias('webroot').'/images/fotocarnet/'.$rut.".png", 0777); //Guarda imagen en el directorio
                            $model->fotocopiacarnet = $ruta.$rut.".png"; //Transforma valor a guardar en la DB
                        }
                        
                        //Guarda el modelo
                        if($model->save()){
                                $this->redirect(array('view','id'=>$model->idcliente));
                        }
		}

		$this->render('create',array(
			'model'=>$model,
		));
	}


*El actionCreate, es lo mismo


Mi problema es que ahora no sé que hacer con ella, y tengo 2 opciones

1) Al ver los datos, que el campo "fotocopiacarnet" me muestre la imagen
2) Al ver los datos, que el campo "fotocopiacarnet" me permita descargar la imagen

(La verdad es que me gustaría aprender a hacer ambas funciones)

si me dirijo al view view.php (que entiendo que es el encargado de mostrar la información) me encuentro con lo siguiente:

<?php $this->widget('zii.widgets.CDetailView', array(
	'data'=>$model,
	'attributes'=>array(
		'idcliente',
		'rut',
		'dv',
		'nombres',
		'aPaterno',
		'aMaterno',
		'fechanacimiento',
		'telefonofijo',
		'telefonomovil',
		'email',
		'direccion',
		'niveleducacional',
		'fotocopiacarnet',
	),
)); ?>


Que entiendo que es quién muestra los datos según el ID. Pero, de que forma puedo hacer que visualice la imagen o la descargue, y no sólo, me muestre la URL que está en la DB?


De antemano
Gracias

Viewing all articles
Browse latest Browse all 18717

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>