DropzoneJs Extention for Yii2
A port of DropzoneJs for Yii2 Framework
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist perminder-klair/yii2-dropzone "dev-master"
or add
"perminder-klair/yii2-dropzone": "dev-master"
to the require section of your composer.json
file.
Once the extension is installed, simply use it in your code by to create Ajax upload area :
echo \kato\DropZone::widget();
To pass options : (More details at dropzonejs official docs )
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 :
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;
}