yii框架ajax上传

js代码 

                       <script>

                                $("input#upload").change(function () {  
                                      $.ajaxFileUpload({  
                                          url: 'http://localhost/sixgroup/web/?r=fcompany/upload',  
                                          secureuri: false,  
                                          data:{"id":"id"},  
                                          fileElementId:'upload',  
                                          dataType: 'json',  
                                          success: function (data,status) {  
                                            // alert(data);
                                            // console.log(status);
                                              if (data.result == 'Success') {  
                                                   var str='*******';
                                                  //上传成功  
                                                  $(":hidden[name='file']").val(data.url);
                                                  $("a[class='inline cboxElement']").html(str);

                                              }else{  
                                                  alert("上传失败");  
                                              }  
                                          },  
                                          error: function (data, status, e) {  
                                              return;  
                                          }  
                                      });  

                                  });  


                        </script>


V层

<input type="file" id="upload" name="UploadForm[imageFile]" />


M层


namespace app\models;
use yii\base\Model;
use yii\web\UploadedFile;
class UploadForm extends Model{    
/**     * @var UploadedFile     */
    public $imageFile;    
    public function rules()    {        
    return [
            [['imageFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg,jpeg'],
        ];   
    }        
    public function upload()    {
        if ($this->validate()) {
            $this->imageFile->saveAs('uploads/' . $this->imageFile->baseName . '.' . $this->imageFile->extension);
            return true;        
        } else {            
        return false;        
        }    
    }
}



C层


 //ajax文件上传
       public function actionUpload(){  
        //header("content-type:text/html;charset=utf8");
           $model = new UploadForm();  
            if (Yii::$app->request->isPost) {  
                $model->imageFile = UploadedFile::getInstance($model, 'imageFile');  
                if ($model->imageFile && $model->validate()) {  
                    if(!file_exists('data/upload/11'))mkdir('data/upload/11');  
                    $path='data/upload/';  
                    if(!file_exists($path))mkdir($path);  
                              
                    $filename=time().'.'. $model->imageFile->extension;  
                    $arr=array();
                    if($model->imageFile->saveAs($path.$filename)){
                        $arr=["result"=>"Success","url"=>$path.$filename]; 
                    }else{
                        $arr=["result"=>"Fail"];
                    }
                }else{
                     $arr=["result"=>"ValidFail"];  
                }
               
            }else{
                 $arr=["result"=>"PostFail"]; 
            }
           
            echo  json_encode($arr);
        }



轻松搞定!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值