Yii Framework Forum: Xupload, no logro que me suba los fichero - Yii Framework Forum

Jump to content

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

Xupload, no logro que me suba los fichero Rate Topic: -----

#1 User is offline   Ramón Menor 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 14-September 11

Posted 01 February 2012 - 08:42 AM

Hola a todos, estoy intentando usar esta extensión

http://www.yiiframew...ension/xupload/

en el controler tengo:
'upload'=>array(
				'class'=>'ext.xupload.actions.XUploadAction',
					'subfolderVar' => 'parent_id',
					'path' => realpath(Yii::app()->getBasePath()."/../images/uploads"),
			),


public function actionUpload()
	{
		$model = new XUploadForm;
		$this->render('upload', array(
			'model' => $model,
		));
	}


y en la vista
<?php
$this->widget('ext.xupload.XUploadWidget', array(
					'url' => Yii::app()->createUrl("site/upload", array("parent_id" => 1)),
                    'model' => $model,
                    'attribute' => 'file',
					'options' => array(
						'beforeSend' => 'js:function (event, files, index, xhr, handler, callBack) {
					        handler.uploadRow.find(".file_upload_start button").click(callBack);
					    }'
					),
));
?>
<button id="start_uploads" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary">
	<span class="ui-button-icon-primary ui-icon ui-icon-circle-arrow-e"></span>
	<span class="ui-button-text">Iniciar</span>
</button>
<script type="text/javascript">
$('#start_uploads').click(function () {
    $('.file_upload_start button').click();
});
</script>


Creo entender que la ruta donde deberían subir los fichero es ruta/protected/../images/uploads pero no me funciona, puedo elegir el fichero me sale para subir y hace la carga pero desaparece todo y no ha copiado nada ahí.
Lo estoy probando en local, podría ser el problema?
También me gustaría saber si con esta misma extensión se podrá ver el resultado, es decir, el fichero listo para descargar o eliminar, como sale en la demo http://blueimp.githu...ry-File-Upload/

Gracias.
0

#2 User is offline   Javierlog 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 19
  • Joined: 05-September 11
  • Location:Panama

Posted 02 February 2012 - 02:52 PM

Tienes que reformular tu algoritmo.

Lo que pasa es que no esta permitido subir archivos dentro de la carpeta protected de la aplicación.

Lo que hacen los programadores que tratan con widgets es publicar carpetas dentro del directorio protected usando el componente CAssetManager y el metodo publish(). pero eso en este caso no funcionaria.

Diria que optes por subirlas a una carpeta publica como la de images o crear una y fijar permisos de acceso a dicha carpeta solamente accesibles con la extension xuload.
0

#3 User is offline   Ramón Menor 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 14-September 11

Posted 07 February 2012 - 06:52 AM

Gracias por tu respuesta.

Es que en realidad lo debería esta subiendo en la carpeta uploads dentro de images. Es una carpeta pública, no lo entiendo.

La demo si que me funciona bien y no me lo explico, si lo tengo todo igual.

Hay alguna forma de hacer algún debug para saber donde se produce el error porque le he dado mil vueltas.

View Postjavier giron, on 02 February 2012 - 02:52 PM, said:

Tienes que reformular tu algoritmo.

Lo que pasa es que no esta permitido subir archivos dentro de la carpeta protected de la aplicación.

Lo que hacen los programadores que tratan con widgets es publicar carpetas dentro del directorio protected usando el componente CAssetManager y el metodo publish(). pero eso en este caso no funcionaria.

Diria que optes por subirlas a una carpeta publica como la de images o crear una y fijar permisos de acceso a dicha carpeta solamente accesibles con la extension xuload.

0

#4 User is offline   Javierlog 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 19
  • Joined: 05-September 11
  • Location:Panama

Posted 08 February 2012 - 01:11 AM

Puedes utilizar firebug en consola de errores, para saber si en algun momento de la ejecucion del script se produce un error de Javascript....

Tambien seria bueno que le hicieras un CVarDumper::dump() a las rutas como realpath(Yii::app()->getBasePath()."/../images/uploads") para saber si esa ruta es correcta.

Saludos y no dejes de avisar si resuelves el problema :)
0

#5 User is offline   Ramón Menor 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 14-September 11

Posted 16 February 2012 - 10:20 PM

Muchas gracias por preocuparte pero no se realmente que pasó, el caso es que me arte de todo y como era un proyecto de prueba lo borre y seguí los pasos nuevamente y mágicamente funciona.

Ahora lo que estoy haciendo es poder ver los fichero subidos, para ello estoy usando cfile (http://www.yiiframew...xtension/cfile/) que así como un poco a lo bestia me muestra todos los ficheros de forma recursiva, en el caso de usar una ruta inicial que contenga directorios:

$listado = Yii::app()->file->set('images/uploads/')->contents;
  
  foreach ($listado as $valor) {
	if (CFile::set($valor)->isDir) {
	    echo 'Directorio: '.CFile::set($valor)->basename . '<br />';
	    $listado2 = Yii::app()->file->set($valor)->contents;

	    foreach ($listado3 as $valor2) {
	      echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' .CFile::set($valor2)->basename . '<br />';
	    }
	} else {
            echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' .CFile::set($valor)->basename . '<br />';
        }
  }


No se si esta es la mejor manera o usando yii se podría hacer de otra pero es la que se me ocurrió y funciona que es lo que necesito después del dolor de cabeza que tuve.
Creo que con esto y un poco de maquetación se puede quedar algo decente, ¿qué pensáis?
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