layui添加、修改图片

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了layui添加、修改图片脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

思路:上传图片接口后返回路径给页面,然后用一个input接收路径,再通过form表单提交给后端进行保存,编辑类似

1.添加界面html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" th:href="@{/lib/layui-v2.6.3/css/layui.css}" media="all">
    <link rel="stylesheet" th:href="@{/css/public.css}" media="all">
    <style>
        body {
            background-color: #ffffff;
        }
    </style>
</head>
<body>
<!--上传图片-->
<div class="layui-upload ">
    <div class="layui-upload-list">
        <!--预览图片-->
        <img style="height: 100px; width: 100px;" class="layui-upload-img" id="imgView">
        <button type="button" class="layui-btn" id="photo">上传图片</button>
        <!--提示信息-->
        <p id="demoText"></p>
    </div>

</div>

<div class="layui-form layuimini-form">
    <div style="display: none" class="layui-form-item">
        <label class="layui-form-label required">图片</label>
        <div class="layui-input-block">
            <input type="text" id="hotelimg" name="hotelimg" value="" class="layui-input">
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label required">酒店名称</label>
        <div class="layui-input-block">
            <input type="text" name="name" lay-verify="required" lay-reqtext="名称不能为空" placeholder="请输入名称" value="" class="layui-input">
        </div>
    </div>
    <!--<div class="layui-form-item">-->
        <!--<label class="layui-form-label required">性别</label>-->
        <!--<div class="layui-input-block">-->
            <!--<input type="radio" name="sex" value="男" title="男" checked="">-->
            <!--<input type="radio" name="sex" value="女" title="女">-->
        <!--</div>-->
    <!--</div>-->
    <div class="layui-form-item">
        <label class="layui-form-label required">开始时间</label>
        <div class="layui-input-block">
            <input type="text" id="createTime" name="createTime" placeholder="请输入开始时间" value="" class="layui-input" lay-verify="required" lay-reqtext="开始时间不能为空">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label required">结束时间</label>
        <div class="layui-input-block">
            <input type="text" id="endTime" name="endTime" placeholder="请输入结束时间" value="" class="layui-input" lay-verify="required" lay-reqtext="结束时间不能为空">
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label required">手机</label>
        <div class="layui-input-block">
            <input type="number" name="phone" lay-verify="required" lay-reqtext="手机不能为空" placeholder="请输入手机" value="" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">价格</label>
        <div class="layui-input-block">
            <input type="text" name="price" placeholder="请输入价格" value="" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">地址</label>
        <div class="layui-input-block">
            <input type="text" name="address" placeholder="请输入地址" value="" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item layui-form-text">
        <label class="layui-form-label">描述</label>
        <div class="layui-input-block">
            <textarea name="describes" class="layui-textarea" placeholder="请输入描述信息"></textarea>
        </div>
    </div>

    <div class="layui-form-item">
        <div class="layui-input-block">
            <button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button>
        </div>
    </div>
</div>
<script th:src="@{/lib/layui-v2.6.3/layui.js}" charset="utf-8"></script>
<script>
    layui.use(['laydate','upload','jquery','form'], function () {
        var form = layui.form,
            layer = layui.layer,
            $ = layui.$;
            upload=layui.upload,
            laydate = layui.laydate;

        //图片上传
        var uploadInst=upload.render({
            elem: '#photo',
            url:'/hotel/uploadPhoto',
            before: function (obj) {
                obj.preview(function (index,file,result) {
                    $('#imgView').attr('src',result);//图片链接base64

                });
            },
            done:function (res) {//上传后的回调函数
                if (res) {
                    console.log(res.data.src)
                    $('#hotelimg').val(res.data.src);
                    return layer.msg('上传成功');
                }
            },
            error:function () {
                //演示失败状态,并实现重传
                var demoText=$('#demoText');
                demoText.html('<span style="color:#FF5722;">上传失败</span><a class="layui-btn layui-btn-xs demo-reload">重试</a> ')
                demoText.find('.demo-reload').on('click',function () {
                    uploadInst.upload();
                })
            }
        })

        //时间选择
        //开始时间
        laydate.render({
            elem: '#createTime', //指定元素
            type: 'datetime'
        });
        //结束时间
        laydate.render({
            elem: '#endTime', //指定元素
            type: 'datetime'
        });

        //添加没有图片则默认添加一张图片
        var img=$('#hotelimg').val();
        if (img == "" || img == null) {
            $('#hotelimg').val("../static/images/无图.jpg")
        }

     //监听提交
        form.on('submit(saveBtn)', function (data) {
            $.ajax({
                url: "/hotel/hotelAdd",
                method: "post",
                dataType: "json",
                data: data.field,
                success :function (res) {
                    if (res.status == "0") {
                       var index= layer.alert("添加成功",{},function () {
                           //关闭弹出层
                           layer.close(index);
                           //关闭自身的iframe
                           var iframeIndex = parent.layer.getFrameIndex(window.name);
                           parent.layer.close(iframeIndex);
                       });
                    }else if (res.status == "1") {
                        layer.alert("添加失败");
                    }
                }
            })
        });

    });
</script>
</body>
</html>

2.后端

   /**
     * 图片上传
     * @param file
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/uploadPhoto",method = RequestMethod.POST)
    @ResponseBody
    public Object uploadPhoto(@RequestParam(value = "file",required = false)MultipartFile file, HttpServletRequest request, HttpServletResponse response){
        String prefix="";
        String dateStr="";
        String originalName="";
        //保存上传
        OutputStream out = null;
        InputStream fileInput=null;
        try{
            if(file!=null){
                 originalName = file.getOriginalFilename();
                prefix=originalName.substring(originalName.lastIndexOf(".")+1);
//                dateStr = format.format(new Date());
//                String filepath = request.getServletContext().getRealPath("/static") + dateStr + "." + prefix;
                String filepath = "E:\benke\lx\travel\src\main\resources\static\images\hotel\" + originalName;
                //E:benkelxtravelsrcmainresourcesstaticimageshotelcaptcha.jpg
                filepath = filepath.replace("\", "/");
                File files=new File(filepath);
                //打印查看上传路径
                System.out.println(filepath);
                if(!files.getParentFile().exists()){
                    files.getParentFile().mkdirs();
                }
                file.transferTo(files);
            }
        }catch (Exception e){
        }finally{
            try {
                if(out!=null){
                    out.close();
                }
                if(fileInput!=null){
                    fileInput.close();
                }
            } catch (IOException e) {
            }
        }
        Map<String,Object> map2=new HashMap<>();
        Map<String,Object> map=new HashMap<>();
        map.put("code",0);
        map.put("msg","");
        map.put("data",map2);
        map2.put("src","../static/images/hotel/"+  originalName);
        return map;
    }

 

脚本宝典总结

以上是脚本宝典为你收集整理的layui添加、修改图片全部内容,希望文章能够帮你解决layui添加、修改图片所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: