Как использовать xupload с Yii - PullRequest
       71

Как использовать xupload с Yii

3 голосов
/ 17 декабря 2011

Я новичок в Yii и хочу интегрировать загрузку файлов. К сожалению, я не смог заставить его работать. Я скачал и извлек плагин в папку / extensions /, но теперь я не знаю, что делать.

Может ли кто-нибудь направить меня?

вот ссылка на расширение

http://www.yiiframework.com/extension/xupload/

Ответы [ 2 ]

4 голосов
/ 17 декабря 2011

это расширение устарело и плохо поддерживается.Вместо этого я использую это расширение: eajaxupload .

Как вы можете видеть на этой странице, использование чрезвычайно просто.Загрузите его в каталог расширений и установите его с этими несколькими строками кода

Сначала вы добавите следующий код в действие вашего контроллера:

public function actionUpload()
{
        Yii::import("ext.EAjaxUpload.qqFileUploader");

        $folder='upload/';// folder for uploaded files
        $allowedExtensions = array("jpg");//array("jpg","jpeg","gif","exe","mov" and etc...
        $sizeLimit = 10 * 1024 * 1024;// maximum file size in bytes
        $uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
        $result = $uploader->handleUpload($folder);
        $result=htmlspecialchars(json_encode($result), ENT_NOQUOTES);

        $fileSize=filesize($folder.$result['filename']);//GETTING FILE SIZE
        $fileName=$result['filename'];//GETTING FILE NAME

        echo $result;// it's array
}

После этого перейдите в связанный файл представленияэто действие и используйте этот код для генерации формы загрузки:

<? $this->widget('ext.EAjaxUpload.EAjaxUpload',
array(
        'id'=>'uploadFile',
        'config'=>array(
               'action'=>'/controller/upload',
               'allowedExtensions'=>array("jpg");//array("jpg","jpeg","gif","exe","mov" and etc...
               'sizeLimit'=>10*1024*1024,// maximum file size in bytes
               'minSizeLimit'=>10*1024*1024,// minimum file size in bytes
               //'onComplete'=>"js:function(id, fileName, responseJSON){ alert(fileName); }",
               //'messages'=>array(
               //                  'typeError'=>"{file} has invalid extension. Only {extensions} are allowed.",
               //                  'sizeError'=>"{file} is too large, maximum file size is {sizeLimit}.",
               //                  'minSizeError'=>"{file} is too small, minimum file size is {minSizeLimit}.",
               //                  'emptyError'=>"{file} is empty, please select files again without it.",
               //                  'onLeave'=>"The files are being uploaded, if you leave now the upload will be cancelled."
               //                 ),
               //'showMessage'=>"js:function(message){ alert(message); }"
              )
)); ?>

Очень легко начать работу.Попробуй!

0 голосов
/ 12 июля 2016

Чтобы изменить имя файла перед сохранением изображения, раскомментируйте закомментированную строку и укажите имя по вашему выбору.

. / Extensions / EAjaxUpload / qqFileUploader.php

    $pathinfo = pathinfo($this->file->getName());
    $filename = $pathinfo['filename'];
    //$filename = md5(uniqid());
    $ext = $pathinfo['extension'];
...