Yii2 Dropzone
DropzoneJs Extention for Yii2, (*1)
A port of DropzoneJs for Yii2 Framework., (*2)
Installation
The preferred way to install this extension is through composer., (*3)
Either run, (*4)
php composer.phar require --prefer-dist perminder-klair/yii2-dropzone "dev-master"
or add, (*5)
"perminder-klair/yii2-dropzone": "dev-master"
to the require section of your composer.json file., (*6)
Usage
Once the extension is installed, simply use it in your code by to create Ajax upload area :, (*7)
echo \kato\DropZone::widget();
To pass options : (More details at dropzonejs official docs ), (*8)
echo \kato\DropZone::widget([
       'options' => [
           'maxFilesize' => '2',
       ],
       'clientEvents' => [
           'complete' => "function(file){console.log(file)}",
           'removedfile' => "function(file){alert(file.name + ' is removed')}"
       ],
   ]);
Example of upload method :, (*9)
public function actionUpload()
{
    $fileName = 'file';
    $uploadPath = './files';
    if (isset($_FILES[$fileName])) {
        $file = \yii\web\UploadedFile::getInstanceByName($fileName);
        //Print file data
        //print_r($file);
        if ($file->saveAs($uploadPath . '/' . $file->name)) {
            //Now save file data to database
            echo \yii\helpers\Json::encode($file);
        }
    }
    return false;
}