【Layui】tp5上传图片

简介: 【Layui】tp5上传图片

author:咔咔


wechat:fangkangfk


这个layui上传图片初学者看不明白很正常,按照这个思路做就没问题的


首先就是拿他的前端代码


这里需要注意的就是这个button里边的lau-data这个参数,点击上传图片的时候会把这个参数带上,这里我是做成了保存路径的参数,比如这里是video,这个图片的保存路劲就是upload/video


<div class="layui-form-item">
            <label class="layui-form-label">缩略图:</label>
            <div class="layui-input-inline w500 upload">
                <input type="text" class="layui-input upload-input" style="max-width:100%;" value="789" placeholder="" id="vod_pic" name="vod_pic">
            </div>
            <div class="layui-input-inline ">
                <button type="button" class="layui-btn layui-upload" lay-data="{data:{thumb_type:'video'}}" id="upload1">上传图片</button>
            </div>
        </div>



效果图:

image.png



在下来就是js代码了


这段js代码我圈起来的都是需要注意的地方,下来就按照红框的顺序解释一下


1.绑定uoload模块


2.将layui.upload这个模块绑定给upload


3.指向dom对象


4.上传地址


5.获取当前触发上传的元素,一般用于 elem 绑定 class 的情况


6.最后一个就是图片路径


image.png


<script type="text/javascript">
    layui.use(['form', 'layer','upload'], function () {
        // 操作对象
        var form = layui.form
            , layer = layui.layer
            , upload = layui.upload;
        upload.render({
            elem: '.layui-upload'
            ,url: "{:url('upload/upload')}?flag=vod"
            ,method: 'post'
            ,done :function (res) {
                var obj = this.item;
                var input = $(obj).parent().parent().find('.upload-input');
                input.val(res.data);
            }
        });
        $('.upload-input').hover(function (e){
            var e = window.event || e;
            var imgsrc = $(this).val();
            if(imgsrc.trim()==""){ return; }
            var left = e.clientX+document.body.scrollLeft+20;
            var top = e.clientY+document.body.scrollTop+20;
            $(".showpic").css({left:left,top:top,display:""});
            if(imgsrc.indexOf('://')<0){ imgsrc = IMAGR_PATH  + '/' + imgsrc; }
            $(".showpic_img").attr("src", imgsrc);
        },function (e){
            $(".showpic").css("display","none");
        });
    });
</script>


 这个图片的路径不适合我的项目开发,于是我就修改了这个路径地址


这个是我在view.php里边定义属于我自己的图片路径地址


image.png


然后在到前端声明一下即可


image.png


这个时候就需要后太代码了,这个后台我们使用的是tp5


这个步骤我重新写一篇,因为这个属于我们的项目统一规范,在以后的项目开发中,会一直坚持这一套开发,并优化到最佳


tp5后台上传地址:


https://blog.csdn.net/fangkang7/article/details/85060379


相关文章
|
安全 网络安全 API
Hotmail邮箱设置Exchange的方法步骤
如何使用Exchange协议设置Hotmail邮箱:在邮件客户端(如Outlook)中添加新账户,选择Exchange服务,输入邮箱全址(@hotmail.com)和服务器地址(outlook.office365.com),启用SSL加密,完成设置后即可在各设备同步邮件、日历和联系人。AokSend提供触发式验证码发信服务,支持SMTP/API接口,高触达,独立IP和服务器。
|
前端开发 JavaScript API
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
662 0
|
9月前
|
人工智能 编解码 物联网
阶跃星辰开源Step-Video-TI2V 图生视频模型介绍
在今年 2 月,阶跃星辰开源了两款 Step 系列多模态大模型——Step-Video-T2V 视频生成模型和 Step-Audio 语音模型,为开源社区贡献了自己的多模态力量。
366 1
|
10月前
|
机器学习/深度学习 编解码 计算机视觉
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
481 12
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
|
运维 测试技术
实用指南:使用Pytest Allure测试框架添加用例失败截图
本文介绍了如何在使用`allure+pytest`进行软件测试时,通过`pytest_runtest_makereport`钩子函数自动捕获失败用例的截图。在`conftest.py`中定义钩子,当用例失败时,保存截图并附加到Allure测试报告中。测试代码示例展示了登录豆瓣的场景,测试失败时会自动生成截图。这种方法有助于快速理解和解决测试问题,提升测试效率和软件质量。
|
前端开发 Java Spring
RuoYi-Vue 在Swagger和Postman中 上传文件测试方案
RuoYi-Vue 在Swagger和Postman中 上传文件测试方案
720 0
|
Python
关于SSTI模块注入的常见绕过方法
关于SSTI模块注入的常见绕过方法
731 0
|
Linux C语言 Python
Linux对稀疏(Sparse)文件的支持
稀疏(Sparse)文件的创建 在EXT2/EXT3文件系统上可以使用dd创建稀疏文件: $ dd if=/dev/zero of=fs.img bs=1M seek=1024 count=00+0 records in0+0 records out$ ls -lh fs.
1323 0
[USACO 2009 Dec S]Music Notes
[USACO 2009 Dec S]Music Notes
177 0