laravel 文件上传

唐长老网络7个月前60

前端代码:

<button type="button" class="layui-btn" id="test1">
    <i class="layui-icon">&#xe67c;</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'


添加 请求路径 

32.jpg


本文链接:http://blog.tzlwl.com/post/20.html 转载需授权!