layui文件上传+Lavarel

Posted on 2022-03-10 20:43  君子不卿  阅读(138)  评论(0编辑  收藏  举报

1.前端html代码

{{--使用layUI进行图片上传--}}
            <div class="layui-form-item">
                <label class="layui-form-label"><span class="x-red">*</span>图片上传</label>
                <div class="layui-input-inline uploadHeadImage">
                    <div class="layui-upload-drag" id="headImg">
                        <i class="layui-icon"></i>
                        <p>点击上传图片,或将图片拖拽到此处</p>
                    </div>
                </div>
                <div class="layui-input-inline">
                    <div class="layui-upload-list">
                        <img class="layui-upload-img headImage" src="" id="demo1" style="width: 100px">
                        <p id="demoText"></p>
                    </div>
                </div>
            </div>
            {{--使用layUI进行图片上传--}}
{{--                隐藏域--}}
                <input type="hidden" value="" id="imagepath" name="goods_pic_path">//name="sql里面的字段"
{{--                隐藏域--}}

2.前端js代码

//图片拖拽上传
            var uploadInst = upload.render({
                elem: '#headImg'
                , url: "{{url("goods/picAction")}}"
                , size: 500
                ,field: 'pic',
                data:{_token:'{{csrf_token()}}'}
                , before: function (obj) {
                    //预读本地文件示例,不支持ie8
                    obj.preview(function (index, file, result) {
                        $('#demo1').attr('src', result); //图片链接(base64)
                    });
                }
                , done: function (res) {
                    console.log(res);
                    //如果上传失败
                    if (res.code > 0) {
                        return layer.msg('上传失败');
                    }
                    var demoText = $('#demoText');
                    // demoText.html('<span style="color: #8f8f8f;">上传成功!!!</span>');
                    $("#imagepath").val(res.image)
                    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();
                    });
                }
            });
            element.init();

3.后台php代码

public function picAction(Request $request){
        //图片上传处理
        $extension = $request->file('pic')->extension(); // 上传文件扩展名
        $imgName = time().mt_rand(1000,9999).".".$extension;//图片名称
        $path = $request->file('pic')->storeAs("picDir",$imgName);//返回文件路径
        return response()->json(['code'=>0,'image'=>$path]);
    }

 

Copyright © 2024 君子不卿
Powered by .NET 9.0 on Kubernetes

//评论