laravel 文件上传
前端代码:
<button type="button" class="layui-btn" id="test1"> <i class="layui-icon"></i>上传图片 </button> var uploadInst = upload.render({ elem: '#test1' //绑定元素 ,url: '/upload' //上传接口 ,multiple: true //开启多个文件 ,done: function(res){ //上传单个后的回调 } ,allDone: function(obj){ console.log(obj.total); //得到总文件数 console.log(obj.successful); //请求成功的文件数 $('#up_all').html('总提交:'+obj.total+'成功提交:'+obj.successful) } ,error: function(){ //请求异常回调 } ,accept: 'file' //允许上传的文件类型 });
后端代码
//上传 public function upload(Request $request) { $file = $request->file('file');//获取文件,与layui中的js的配置 field:'file'。一致。 $allowed_extensions = ["png",'jpg','jpge']; //多类型 //判断文件是否是允许上传的文件类型 if ($file->getClientOriginalExtension() && !in_array($file->getClientOriginalExtension(), $allowed_extensions)) { return ['status' => 0, 'msg' => '不支持此格式']; } //保存文件, $path = date('Y/m/d/', time()); $destinationPath = 'uploads/' . $path; is_dir($destinationPath) or mkdir($destinationPath, 0777, true); $extension = $file->getClientOriginalExtension(); $fileName = md5(mt_rand() . time()) . '.' . $extension; $file->move($destinationPath, $fileName); return ['status' => 1, 'msg' => $destinationPath . $fileName, 'name' => $file->getClientOriginalName()]; }
//注意.post 请求需要csrf 需要关闭
'app/Http/Middleware/VerifyCsrfToken.php'
添加 请求路径
本文链接:http://blog.tzlwl.com/post/20.html 转载需授权!