网站建设资讯

NEWS

网站建设资讯

YII2+jquery.Fileupload文件上传

1、单个文件上传

首先建立一个模型models/UploadForm.php,内容如下

创新互联从2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元阳高做网站,已为上家服务,为阳高各地企业和个人服务,联系电话:18980820575

namespace app\models;

use yii\base\Model;
use yii\web\UploadedFile;
/**
 * UploadForm is the model behind the upload form.
 */
class UploadForm extends Model{  
  
    /**
     * @var UploadedFile file attribute
     */
    public $file;    
    /**
     * @return array the validation rules.
     */
    public function rules()
    {        
        return [
            [['file'], 'file'],
        ];
    }
}

再建立一个视图文件,内容如下


    .bar {
        width: 100%;
        height: 18px;
        background: green;
    }
    #sucess{  height: 18px;color: #d76f01; font-weight: 12px;display: none;}

上传成功
    
    $(function () {         $("#fileupload_input").fileupload({             url: "index.php?r=bill/include",//文件上传地址,当然也可以直接写在input的data-url属性内             formData: {param1: "p1", param2: "p2"},//如果需要额外添加参数可以在这里添加             done: function (e, result) {                 //done方法就是上传完毕的回调函数,其他回调函数可以自行查看api                 //注意result要和jquery的ajax的data参数区分,这个对象包含了整个请求信息                 //返回的数据在result.result中,假设我们服务器返回了一个json对象                 if (JSON.stringify(result.result) == '"200"') {                     //alert('上传成功')                 } else {                     alert(JSON.stringify(result.result))                 }             },             progressall: function (e, data) {//设置上传进度事件的回调函数                 var progress = parseInt(data.loaded / data.total * 100);                 $('#progress .bar').css(                     'width',                     progress + '%'                 );                 if(progress==100){                     $('#sucess').show()                 }             }         })     });

最后建立控制器文件,内容如下

//获取新单据号
public function actionInclude(){
    $model = new UploadForm();

    if (Yii::$app->request->isPost) {
        $model->file = UploadedFile::getInstance($model, 'file');

        $allow = array('xls','xlsx');
        if ($model->file && in_array($model->file->extension,$allow)) {
            $result = $model->file->saveAs('uploads/' . $model->file->baseName . '.' . $model->file->extension);
            if($result){
                echo '200';
                exit;
            }else{
                echo '上传失败';
                exit;
            }
        }else{
            echo '格式不对';
            exit;
        }
    }

    return $this->render('includeView', ['model' => $model]);

}

YII2上传:http://www.yiichina.com/tutorial/328

fileupload:http://bbs.9ria.com/thread-245293-1-1.html

                http://www.jq22.com/jquery-info230


分享文章:YII2+jquery.Fileupload文件上传
当前链接:http://cdweb.net/article/pdoihe.html

其他资讯