图片上传

1.借助于layui

1.1引入

    <link rel="stylesheet" href="/static/center/layui/css/layui.css" media="all">
    <script src="/static/center/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="/static/index/js/jquery.js" ></script>

2.例如修改个人头像(给一个默认头像,需要加判断,要不然一刷新还是原来的头像)

<img src="/images/img.png" style="height: 150px;width: 150px;border-radius: 100px; cursor:pointer;" title="点击修改头像" id="headImg">
复制代码
<script>
    layui.use('upload', function() {
        var upload = layui.upload;
        //执行实例
        var uploadInst = upload.render({
            elem: '#headImg'
            , url: '{{url("Index/addhead")}}'
            , data: {_token: '{{csrf_token()}}'}
            , size: 2000
            , field: "file"
            , done: function (res) {
                console.log(res.img);
                if (res.code > 0) {
                    return layer.msg('头像上传失败');
                }
                var demoText = $('#demoText');
                $("#headImg").attr("src", res.img)
                return layer.msg("头像上传成功!")
            }
            , error: function () {
                //演示失败状态,并实现重传
                var demoText = $('#demoText');
                demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
                demoText.find('.demo-reload').on('click', function () {
                    uploadInst.upload();
                });
            }
        });
    });
</script>
复制代码

3.图片默认上传地址

 

 3.1为了解决后续读取问题把图片上传到public里面,需要修改配置文件

 

 3.2以日期创建文件夹

 

 

3.控制器里操作

复制代码
   //上传图片
    public function addhead(Request $request){
//        $uid = Session::get("member_id");
        $extension = $request->file('file')->extension(); // 上传文件扩展名
        $time = time();
        $path = $request->file('file')->storeAs(
            'avatars/'.date("Y-m-d"), "$time.$extension"
        );
        $url = "/uploads/".$path;
//        DB::table("users")->where(['uid'=>$uid])->update(['users_img'=>$url]);
        return response()->json(['code'=>0,'img'=>$url]);
    }
复制代码

4.路由

Route::post("addhead","Index\ImageUploadController@addhead");

 

posted @   SHACK元  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示