再也不想用yii2-uploadify等之类的基于flash的文件上传了,其他我就不说,flash现在呵呵了,目前使用如下扩展:kartik-v/yii2-widget-fileinput
官网其实有demo,但是,有些细节没有说明,研究了下,然后整理成blog,有兴趣可以看看,
原文如下:
网上看到一个基于Yii2.x的文件上传功能插件,基于Html5上传,摒弃了传统的flash上传,功能相当实用,现将其使用总结列出:
先看看插件的预览效果吧:
,
废话不多说,开始从头到尾说明
1.Composer安装该插件
composer require kartik-v/yii2-widget-fileinput "@dev"
2.渲染页面效果
create控制器中的代码如下,正常实例化Model以及上传的插件,我这里使用的是一个图片轮播模块,所以AR模型为Rotatain;
publicfunctionactionCreate(){ $model =new Rotatain();if ($model->load(Yii::$app->request->post()) && $model->save()) {return$this->redirect(['view','id' => $model->id]); }else {return$this->render('create', ['model' => $model,'upload' =>new UploadForm() ]); } }
模板中的代码如下,model与upload通过render渲染传参,不多说