Yii Framework Forum: [Solucionado] Hacer Un Enlace Que Descargue Un Archivo Alojado En El Servidor - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Solucionado] Hacer Un Enlace Que Descargue Un Archivo Alojado En El Servidor Rate Topic: -----

#1 User is offline   junke1988 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 21
  • Joined: 08-April 13

Posted 18 April 2013 - 08:03 AM

Hola!!
En mi web tengo un formulario para subir curriculums (en pdf, doc o docx) que guardo en una carpeta de mi servidor, y en la base de datos meto el nombre del archivo del curriculum de cada usuario.

Lo que quiero hacer es un enlace para poder ponerlo en el grid-View y así poder descargar ese curriculum cuando el administrador quiera.

¿Como puedo hacer esto?

Un saludo y muchas gracias! ;)
0

#2 User is offline   junke1988 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 21
  • Joined: 08-April 13

Posted 18 April 2013 - 11:55 AM

Utilizando este Post: http://www.yiiframew...ead.php?tid=276 he conseguido mostrar pdf en el navegador pudiendose descargar posteriormente. No es exactamente lo que quiero por que solo admite pdf pero bueno... Si alguien tiene una solución mejor... ;)

Para poner el enlace en CGridView he hecho esto:
'columns'=>array(
             'atributo1',
             'atributo2',
             'atributo3',               
                array(
                  'class'=>'CLinkColumn',
                  'header'=>'Curriculum',
                  'labelExpression'=>'$data->curriculum',
                  'urlExpression'=>'$data->direccionCurriculum()',
                ),
                array(
                        'class'=>'CButtonColumn',
                ),
        ),


Y en el modelo he declarado esta función:
public function direccionCurriculum(){
                return Yii::app()->request->hostInfo.'/carpeta_aplicacion/js/pdf/web/viewer.php?leer=http://localhost/ruta_a_carpeta_curriculums/'.$this->curriculum;

Y para poner el enlace en CDetailView esto:
'attributes'=>array(
             'atributo1',
             'atributo2',
             'atributo3',
             array(               
                  'label'=>'Curriculum',
                  'type'=>'raw',
                  'value'=>CHtml::link('Ver PDF', Yii::app()->request->hostInfo.'/carpeta_aplicacion/js/pdf/web/viewer.php?leer=http://localhost/ruta_a_carpeta_curriculums/'.$model->curriculum,array("target"=>"_blank"))
                ),
        ),


Eso es todo... de momento.
Saludos ;)
0

#3 User is offline   robregonm 

  • Expert Yii Developer
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 594
  • Joined: 30-July 09
  • Location:Colombia

Posted 18 April 2013 - 10:57 PM

Precisamente así es que se hace :)
La otra forma es imprimir la ruta real del archivo para descarga directa (ya es cuestión de gustos)

Saludos
Ricardo Obregón

YiiFramework en Español - http://yiiframework.co/ - http://yiiframeworkenespanol.org/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.5+, nginx 1.7, MySQL(MariaDB & PerconaDB), PostgreSQL 9, Yii 2, CanJS
Follow me: @robregonm & @obregonco & @1ServerCo.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users