hamada/yii2-dermadropzone

Yii2 dropzone 扩展

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 扩展

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

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

或者

"hamada/yii2-dermadropzone": "*"

将以下内容添加到你的 composer.json 文件的 require 部分。

使用方法

安装扩展后,只需在代码中通过以下方式使用它:

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

更多详细选项请参考:dropzonejs 官方文档

<?=  \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);
            }"
        ],
    ]);
?>

添加现有图片

<?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);
                }"
            ],
        ]);
?>

上传方法的示例

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;
}