yii2用uploadify的方法
创始人
2024-11-26 09:01:16
0次

Uploadify是来自国外的一款优秀jQuery插件,主要功能是批量上传文件

下载Uploadify控件可以到git网站上找,找到自己适合用的.例如我们下面用个就是从

https://github.com/xjflyttp/yii2-uploadify-widget 下载的,里面也有详细的操作文档。

① 配置composer.json (就存在网站根目录下),找到require,然后添加我们的uploadify

"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.6",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"xj/yii2-uploadify-widget": "~2.0.0" //这里是新添加的
},

② 利用composer 将yii2-uploadify-widget 下载到我们网站, 打开在网站根目录运行命令行 ,等待下载如图:

yii2用uploadify的方法

③ 视图的处理

 'test']);
echo Uploadify::widget([
    'url' => yii\helpers\Url::to(['s-upload']),
    'id' => 'test', //需要跟上fileInput 的id 对应
    'csrf' => true,
    'renderTag' => false,
     'jsOptions' => [
                  'width' => 100,
                  'height' => 40,
                  'onUploadError' => new JsExpression(<< new JsExpression(<<

④ 配置Controller 层

 [
            'class' => UploadAction::className(),
            //磁盘目录
            'basePath' => '@webroot/upload',
            //访问目录
            'baseUrl' => '@web/upload',
            //防止跨站攻击
            'enableCsrf' => true, // default
            'postFieldName' => 'Filedata', // default
            //BEGIN METHOD
            'format' => [$this, 'methodName'],
            //END METHOD
            //BEGIN CLOSURE BY-HASH
            //是否覆盖相同文件
            'overwriteIfExist' => true,
            //创建图片名称
            'format' => function (UploadAction $action) {
                $fileext = $action->uploadfile->getExtension();
                $filename = sha1_file($action->uploadfile->tempName);
                return "{$filename}.{$fileext}";
            },
             //想要多调用这个函数
            'format' => function (UploadAction $action) {
                $fileext = $action->uploadfile->getExtension();
                $filehash = sha1(uniqid() . time());
                $p1 = substr($filehash, 0, 2);
                $p2 = substr($filehash, 2, 2);
                return "{$p1}/{$p2}/{$filehash}.{$fileext}";
            },
            */
            'validateOptions' => [
                'extensions' => ['jpg', 'png'], //后缀验证
                'maxSize' => 1 * 1024 * 1024, //上传大小限制
             ],
             //验证前处理
            'beforeValidate' => function (UploadAction $action) {
                //throw new Exception('test error');
                },
             //验证后处理
            'afterValidate' => function (UploadAction $action) {},
             //保存前处理
            'beforeSave' => function (UploadAction $action) {},
            //保存后处理
            'afterSave' => function (UploadAction $action) {
                //$action->output 返回给浏览器的数据
                //返回Url 图片返回的路径
                //$action->getWebUrl()
                //图片的名称
                //$action->getFilename();
                //保存图片的物理位置
                //$action->getSavePath();
                //输出                                 
                //$action->output['fileUrl'] = $action->getWebUrl();
                //$action->output['fileName'] = $action->getFilename();
                //$action->output['filePath'] = $action->getSavePath();
                //$action->getFilename(); // "image/yyyymmddtimerand.jpg"
                //$action->getWebUrl(); //  "baseUrl + filename, /upload/image/yyyymmddtimerand.jpg"
                 //$action->getSavePath(); // "/var/www/htdocs/upload/image/yyyymmddtimerand.jpg"
                $action->output[‘fileUrl’] = $action->getWebUrl()
              },
           ],
        ];
     }
   }
?>

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...