ajax 文件上传
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div class="upload-btn"> <input type="file" name="file" id="pic" accept="image/gif,image/jpeg,image/x-png"/> <span></span> </div> </body> </html> <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"> </script> <script> // /上传图片 //注意这不是click $('#pic').change(function(event) { var formData = new FormData(); formData.append("file", $(this).get(0).files[0]); $.ajax({ url:"http://www.examtest.com/pyg/api/addUpLode", type:'POST', dataType:"json", data: formData, cache: false, contentType: false, //不可缺 processData: false, //不可缺 success:function(data){ console.log(data) if (data.code=500){ alert(data.message) } if (data.code==501){ alert(data.message); } if (data.code==200){ alert(data.message); } } }); }); </script>
//单文件上传视图 public function uplode() { return view(); } // 接受文件 public function addUpLode() { //接受参数: // $file=request()->file('file'); $file = $this->request->file('file'); //验证参数 if (empty($file)) { return json(['code' => 500, 'message' => '照片不可以为空', 'data' => $file]); } //验证参数 if ($file) { $info = $file->validate(['size' => 15678, 'ext' => 'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads'); if ($info) { // 成功上传后 获取上传信息 // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg $filename = $info->getSaveName(); /* * 这里可以进行替换 * * */ return json(['code' => 200, 'message' => '文件上传成功', 'data' => $file]); } else { // 上传失败获取错误信息 return json(['code' => 501, 'message' => $file->getError(), 'data' => $file]); } } }