tp5 ajax单文件上传
HTML代码:
<!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]); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现