hamada/yii2-dermadropzone

Yii2 dropzone extension

Installs: 16

Dependents: 1

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 1

Open Issues: 0

Type:yii2-extension

dev-master 2016-06-18 08:57 UTC

This package is not auto-updated.

Last update: 2022-01-14 06:16:37 UTC


README

Yii2 dropzone extension

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist hamada/yii2-dermadropzone "*"

or add

"hamada/yii2-dermadropzone": "*"

to the require section of your composer.json file.

Usage

Once the extension is installed, simply use it in your code by :

<?= \Derma\Dropzone\AutoloadExample::widget(); ?> 

More detail options : dropzonejs official docs

<?=  \Derma\Dropzone\AutoloadExample::widget([
        'options' => [
            'addRemoveLinks' => true,
            'url'=>Yii::$app->getUrlManager()->createUrl(['tempupload/upload']),
            'acceptedFiles'=> "image/jpeg,image/png",
            'dictDefaultMessage'=>'Pilih gambar atau tarik gambar ke sini. ',
        ],
        'clientEvents' => [
            'success'=> "function(file,response){
                console.log(file);
            }",
            'removedfile' => "function(file){
                console.log(file);
            }"
        ],
    ]);
?>

Add existing images:

<?php  
    $arr = []; //store in array
    foreach ($modelImages as $values)
    {
        $arr[] = array(
            'name'=>$values->filename,
            'fileUrl'=>'YOUR_FILE_URL'
        );
        /*
            Example amazon s3 url
            https://s3-ap-southeast-1.amazonaws.com/bucket/donald_trump_sucks.jpg
        */
    }
    
    echo \Derma\Dropzone\AutoloadExample::widget([
            'addFiles'=>$arr, //put your array here
            'options' => [
                'addRemoveLinks' => true,
                'url'=>Yii::$app->getUrlManager()->createUrl(['tempupload/upload']),
                'acceptedFiles'=> "image/jpeg,image/png",
                'dictDefaultMessage'=>'Pilih gambar atau tarik gambar ke sini. ',
            ],
            'clientEvents' => [
                'success'=> "function(file,response){
                    console.log(file);
                }",
                'removedfile' => "function(file){
                    console.log(file);
                }"
            ],
        ]);
?>

Example of upload method :

public function actionUpload()
{
    $fileName = 'file';
    $uploadPath = './files';

    if (isset($_FILES[$fileName])) {
        $file = \yii\web\UploadedFile::getInstanceByName($fileName);
        if ($file->saveAs($uploadPath . '/' . $file->name)) {
            //Save to database here
            echo \yii\helpers\Json::encode($file);
        }
    }

    return false;
}