Problema Com Jumploader-Java-Uploade

Estou utilizando a extensão jumploader-java-uploade não estou conseguindo fazer o upload das minhas imagens pra o site!

Estou tentando enviar as imagens pra a pasta uploads (já dei permição 777) que fica na raiz

Ele aparece tudo certinho não da nem um erro e diz que o upload foi bem sucedido, mas quando entro dentro da pasta não tem nada.

Codigo que estou utilizando:




$this->widget('ext.jumploader.jumploaderwidget', array(

	'uploadUrlAction' => '/admin/evento/upload',

	'uploadDirectory' => Yii::getPathOfAlias('webroot.uploads'),

	'width' => 900,

	'height' => 600,

	'appletOptions' => array(

			'vc_mainViewFileTreeViewVisible' => false,

			'vc_mainViewFileListViewVisible' => false,

			'vc_lookAndFeel' => 'system',

			'ac_fireAppletInitialized' => true,

			'uc_imageEditorEnabled' => false,

			'uc_deleteTempFilesOnRemove' => true,

	),

));



codigo de configuração:




'components'=>array(

 ...

        'jumploader' => array(

                    'class' => 'ext.jumploader.jumploader',

            ),




Adriano, tenta comentar a opção uploadDirectory e trate o upload diretamente na sua ação /admin/evento/upload

Abraços

Valeu Junior,

o problema era no caminho da action que estava errado, olha como ficou!




$this->widget('ext.jumploader.jumploaderwidget', array(

	'uploadUrlAction' => $this->createUrl('evento/upload', array('id'=>$model->id_evento)),

	'width' => 900,

	'height' => 700,

	'language' => 'br',

	'maxFiles' => 100,

	'maxFileSize' => '500KB',

	'debugMode' => 'DEBUG',

	'appletOptions' => array(

			'vc_mainViewFileTreeViewVisible' => false,

			'vc_mainViewFileListViewVisible' => false,

			'vc_lookAndFeel' => 'system',

			'ac_fireAppletInitialized' => true,

			'uc_imageEditorEnabled' => false,

	),

));



Esse id que eu passei pra action é o id do evento pq eu estou usando cada evento tem um diretório.

na Action ficou assim:




	public function actionUpload($id)

	{

		$model=Evento::model()->findByPk($id);		

		

		$route = Yii::getPathOfAlias('webroot').'/fotoevento/'.$model->diretorio.'/';


		if(is_dir($route)){

		}else{

		mkdir($route, 0777, true);

		}

		

		if (move_uploaded_file($_FILES['file']['tmp_name'], $route . $_FILES['file']['name'])) {

		}else{

			echo "Erro de Upload!";

		}		

	}



Gostei muito do Jumploader, eu recomento a todos!

Valeu Junior pela tradução,

segue a baixo a tradução do Jumploader para português feita pelo Junior - df9.

3992

messages_br.zip

Jóia, Adriano, ótimo que tenha encontrado a solução.

Se eu puder apenas sugerir a você, na linha

$route = Yii::getPathOfAlias(‘webroot’).’/fotoevento/’.$model->diretorio.’/’;

Sugiro você definir um método na classe de seu Evento para retornar o path e a url base das imagens para quando for utilizar na leitura e exibição dos arquivos, possa ter facilidade e se precisar alterar, não precisar ficar correndo no código todo para encontrar onde utilizou. Também, substituir o "/" por DIRECTORY_SEPARATOR para funcionar em Linux e Windows




class Evento extends CActiveRecord{


const DIR_FOTOS = 'fotoeventos';




public function getFotosBasePath(){

   return Yii::getPathOfAlias('webroot') . DIRECTORY_SEPARATOR . self::DIR_FOTOS . DIRECTORY_SEPARATOR;

}


public function getFotosPath(){

     return $this->getFotosBasePath() . $this->diretorio . DIRECTORY_SEPARATOR;

}


public function getFotosUrl($fullUrl = false){

   return Yii::app()->getBaseUrl($fullUrl) . '\' . self::DIR_FOTOS . '\' . $this->diretorio . '\';

}


...

}



Depois é só utilizar no seu código, em vez de ficar montando o $route toda vez que for utilizar, use

$model->getFotosPath() , exemplo

//$route = Yii::getPathOfAlias(‘webroot’).’/fotoevento/’.$model->diretorio.’/’;

$route = $model->getFotosPath();

Ou simplesmente elimine a variável $route.

E em vez de montar a URL para o arquivo da mesma forma, use

$model->getFotosUrl . ‘nomedoarquivo.jpg’

Não sei se já fez o código desta forma, se não fez, recomendo porque vai facilitar bastante suas manutenções no futuro.

Abraços

:)