<input type="file" name="pic1" id="pic" accept="image/gif,image/jpeg,image/x-png"/>
<script> //上傳圖片 $('#pic').change(function(event) { var formData = new FormData(); formData.append("file", $(this).get(0).files[0]); $.ajax({ url:"..........", type:'POST', data:formData, cache: false, contentType: false, //不可缺 processData: false, //不可缺 success:function(data){ console.log(data) //{code: 1, msg: "成功", photo: "upload/default/20180815/5b73c6fadfdf8.jpg"} } }); }); </script>
/** * Ajax上傳圖片 */ public function uploadPic(){ //接收文件 $file=request()->file('file'); if($file==null){ exit(json_encode(array( 'code'=>'error', 'msg'=>'請上傳文件!' ))); } $filePaths= 'upload' . DS . 'default' . DS .date('Ymd',time()); if(!empty($file)){ $info = $file->validate(['size'=>10485760,'ext'=>'gif,jpg,jpeg,png,bmp,swf'])->rule('uniqid')->move($filePaths); $error = $file->getError(); //驗證文件後綴後大小 if(!empty($error)){ dump($error);exit; } if($info){ // 成功上傳後 獲取上傳信息 $info->getSaveName(); $photo = $info->getSavename(); }else{ // 上傳失敗獲取錯誤信息 $file->getError(); } }else{ $photo = ''; } if($photo !== ''){ return ['code'=>1,'msg'=>'成功','photo'=>$filePaths.DS.$photo]; }else{ return ['code'=>404,'msg'=>'失敗']; } }