参考地址: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) }) }
分类:
前端小工具
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix