Yii Framework Forum: Problema Com Jumploader-Java-Uploade - Yii Framework Forum

Jump to content

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

Problema Com Jumploader-Java-Uploade não está carregando os arquivo para o site Rate Topic: -----

#1 User is offline   Adriano Mendes 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 13-October 11
  • Location:Brazil

Posted 18 March 2013 - 04:47 PM

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',
            ),


0

#2 User is offline   Junior - df9 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 416
  • Joined: 24-May 09
  • Location:Brazil

Posted 19 March 2013 - 05:24 AM

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

Abraços
______________________________________
Junior
df9.com.br
Linux Registered User #364954
GNU/Linux: together we're ready!
0

#3 User is offline   Adriano Mendes 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 13-October 11
  • Location:Brazil

Posted 20 March 2013 - 09:29 AM

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.
Attached File  messages_br.zip (2.41K)
Number of downloads: 0
0

#4 User is offline   Junior - df9 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 416
  • Joined: 24-May 09
  • Location:Brazil

Posted 20 March 2013 - 11:08 AM

View PostAdriano Mendes, on 20 March 2013 - 09:29 AM, said:

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.
Attachment 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

:)
______________________________________
Junior
df9.com.br
Linux Registered User #364954
GNU/Linux: together we're ready!
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