点击头像上传; post方式上传文件错误小记
因为之前踩过这个坑所以记录一下, 避免以后忘记
1. 上传报错的问题
- 首先要实例化一个对象; 总是会忘记
这里的this指向监听元素节点; 重点在于容易忘记this.files是一个数组
;
一定要取出来
| let fd = new FormData() |
| let file = this.files[0] |
- 要检查
是不是undefined
, 因为有可能在选择文件的过程中取消操作
| if (files !== undefined) { |
| fd.append('file', files) |
| |
| axios.post('/api/shared/uploadPortrait', fd).then(res => { |
| if (res.data.errno === 0) { |
| dom.get('#logo img').src = axios.defaults.baseURL + res.data.data.url |
| |
| dom.get('#logo img').dataset.v = res.data.data.url |
| |
| localStorage.setItem('imgUrl', res.data.data.url) |
| } |
| }) |
| } |
2. 利用label标签实现点击一个盒子, 弹出文本选择的功能;
| <label\> |
| <input type\="file" id\="file"\> |
| <span id\="logo"\> |
| <img src\="../../assets/images/user-logo.jpeg" alt\="" data-v\=""\> |
| </span\> |
| </label\> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现