layui 图片上传 demo

效果:
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <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" href="//res.layui.com/layui/dist/css/layui.css" th:href="@{/css/layui/css/layui.css}"  media="all">

    <title>Title</title>



</head>
<body>
<!--图片上传页面-->

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
    <legend>选完文件后不自动上传</legend>
</fieldset>

<!--<div class="layui-upload">-->
<!--    <button type="button" class="layui-btn layui-btn-normal" id="test8">选择文件</button>-->
<!--    <button type="button" class="layui-btn" id="test9">开始上传</button>-->
<!--</div>-->


<!--<div class="layui-form-item">-->
<!--    <label class="layui-form-label">上传蛋糕图片</label>-->
<!--    <div class="layui-input-inline uploadHeadImage">-->
<!--        <div class="layui-upload-drag" id="test8">-->
<!--            <i class="layui-icon"></i>-->
<!--            <p>点击上传图片,或将图片拖拽到此处</p>-->
<!--        </div>-->
<!--    </div>-->
<!--    <div class="layui-input-inline">-->
<!--        <div class="layui-upload-list">-->
<!--&lt;!&ndash;            <img class="layui-upload-img headImage" src="http://t.cn/RCzsdCq" id="demo1">&ndash;&gt;-->
<!--&lt;!&ndash;            <p id="demoText"></p>&ndash;&gt;-->
<!--        </div>-->
<!--    </div>-->
<!--</div>-->
<form class="layui-form">
    <div class="layui-form-item">
<!--        <label class="layui-form-label">尾灯名称</label>-->
<!--        <div class="layui-input-block">-->
<!--            <input type="text" name="name" required lay-verify="required" placeholder="蛋糕图片" class="layui-input">-->
<!--        </div>-->
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button type="button" class="layui-btn" id="upload">
                <i class="layui-icon">&#xe67c;</i>上传图片
            </button>
            <br><br>
<!--            图片预览 layui-upload-list  -->
            <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
                预览图:
                <div class="layui-upload-list" id="demo2"></div>
            </blockquote>
        </div>
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button class="layui-btn" id="commit" onclick="return false">立即提交</button>
        </div>
    </div>
</form>



<script src="/static/build/layui.js" th:src="@{/css/layui/layui.js}"></script>


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

        upload.render({
            elem: '#upload',
            url: '/lyr/manager/upload',
            auto: false,//选择文件后不自动上传
            bindAction: '#commit',
            //上传前的回调
            before: function () {
                this.data = {
                    name: $('input[name="name"]').val()
                }
            },
            //选择文件后的回调
            choose: function (obj) {
                obj.preview(function (index, file, result) {
                    $('#demo2').append('<img width="300px" src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img">')
                })
            },
            //操作成功的回调
            done: function (res, index, upload) {
                var code = res.code === 0 ? 1 : 2;
                layer.alert(res.msg, {icon: code}, function () {
                    parent.window.location.reload();
                })
            },
            //上传错误回调
            error: function (index, upload) {
                layer.alert('上传失败!' + index);
            }
        });
    })
</script>


</body>
</html>

后端代码,基于 springboot

在这里插入图片描述

因为第一次用,很多东西套文档的,所以不是很熟,先记个笔记

 /**
     * String path = Objects.requireNonNull(Objects.requireNonNull(ClassUtils.getDefaultClassLoader())
     *                 .getResource(""))
     *                 .getPath()+"/static/";
     *         log.info(path);
     *
     * @param file
     * @return
     */
    @PostMapping("/lyr/manager/upload")
    @ResponseBody
    public String upload(@RequestParam("file")MultipartFile[] file)
    {

        System.out.println(file[0].getOriginalFilename());
        System.out.println(file[0].getName());

        log.info("图片上传成功");
        return "/manager/success";
    }
发布了151 篇原创文章 · 获赞 7 · 访问量 7501

猜你喜欢

转载自blog.csdn.net/qq_43923045/article/details/104519924
今日推荐