参考地址:https://www.cnblogs.com/zimengxiyu/p/11359053.html

1.上传框

复制代码
            <div class="formItem">
                <div class="formFlex">
                    <label style="font-size: 16px;">头像</label>
                    <div class="edit">
                        <img th:src="${user.avatar}" class="photo">
                        <input type="file" id="file" name="file">
                        <img src="./img/bianji.png" alt="">
                    </div>
                </div>
                <div class="transition">
                    <div class="opera">
                        <button class="confirm editConfirm upload">确定</button>
                        <button class="cancel editCancel">取消</button>
                    </div>
                </div>
            </div>
复制代码

2.请求后端接口获取图片地址

复制代码
<script>
    var file = document.getElementById('file');
    var image = document.querySelector("img");
    file.onchange = function () {
        var fileData = this.files[0];//获取到一个FileList对象中的第一个文件( File 对象),是我们上传的文件
        var pettern = /^image/;
        if (!pettern.test(fileData.type)) {
            alert("图片格式不正确");
            return;
        }
        var formData = new FormData();
        formData.append("file", fileData);
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "/upload/image", true);
        xhr.onreadystatechange = function () {
            if (xhr.readyState === 4 && xhr.status === 200) {
                var res = JSON.parse(xhr.responseText);
                if (res.code === 200) {
                    var imageUrl = res.data;
                    image.setAttribute("src", imageUrl);
                } else {
                    alert(res.msg);
                }
            }
        };
        xhr.send(formData);
    }
</script>
复制代码

3.修改用户信息

复制代码
        //修改头像
        if ($(this).hasClass('editConfirm upload')) {
            var image = document.querySelector("img");
            var data = {
                avatar: image.getAttribute("src")
            }
            sa.ajax("/user/update", data, function (res) {
                layer.msg(res.msg, {anim: 0, icon: 6});
                setTimeout(function () {
                    location.reload();
                }, 800)
            })

        }
复制代码

 

posted on   upupup-999  阅读(493)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix



点击右上角即可分享
微信分享提示