layui实现图片文件上传

13 篇文章 1 订阅

其实代码是很简单的,但是有个地方需要注意一下(文末会贴出全部代码)

 

1,服务端tp5代码:这里的文件name要填file,且只能填file。填别的值均无法获取到客户端传来的文件。

 

2,layui前端代码:

 

layui

 

 所有代码:

    public function upload(Request $request)
    {
        $file=$request->file('file');
        if ($file){
            $info = $file->move('./uploads');

            if($info){
                // 成功上传后 获取上传信息
                // 输出 jpg
                return json([
                        'url'=>$info->getSaveName(), //返回图片文件路径给前端
                        'msg'=>'上传成功',
                        'code'=>201
                ]);
            }else{
                // 上传失败获取错误信息
                return json([
                    'msg' => $file->getError(),
                    'code'=> 204
                ]);
            }
        }
    }

 

 

layui.use(['form','upload'], function(){
       var $ = layui.$
            ,layer = layui.layer
            ,upload=layui.upload
            ,form = layui.form;

       //上传网站logo
       var avatarSrc = $('#LAY_avatarSrc');
       upload.render({
              url: "{:url('System/upload')}"
              ,elem: '#LAY_avatarUpload'
              ,done: function(res){
                  console.log(res.filename);
                  if(res.code == 201){
                      avatarSrc.val(res.url);
                  } else {
                      layer.msg(res.msg, {icon: 5});
                  }
              }
       });
});
<div class="layui-form-item">
            <label class="layui-form-label">{$value.title}:</label>
            <div class="layui-input-inline">
              <input name="商户logo" lay-verify="required" id="LAY_avatarSrc" placeholder="图片地址" value="{$value.value}" class="layui-input">
            </div>
            <div class="layui-input-inline layui-btn-container" style="width: auto;">
                   <button type="button" class="layui-btn layui-btn-primary" id="LAY_avatarUpload">
                       <i class="layui-icon">&#xe67c;</i>上传图片
                   </button>
            </div>
</div>

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值