头像上传功能

该段代码展示了如何通过监听图片点击事件模拟文件域选择,然后使用FormData存储选择的文件,并通过axios进行文件上传API调用,更新头像并存储头像URL。如果用户未选择文件,则不会执行上传操作。
摘要由CSDN通过智能技术生成
			// 点击图片,模拟点击文件域
            avatarImg.addEventListener('click', function () {
                upload.click()
            })

            // 头像change事件
            upload.addEventListener('change', async function () {
                // 步骤
                // 1.获取用户选择的文件 ==> this.files[0]
                // 2. FormData 存用户选择的文件
                // 3. axios发送请求实现上传头像功能

                //1.
                console.log(this.files[0])

                // 判断用户是否选择文件,没有的话,不需要发送请求
                if (!this.files[0]) {
                    //if成立,说明没有选择文件  this.files[0]是undefined
                    return // 后续代码不执行
                }

                //2.
                let fd = new FormData()
                fd.append('avatar', this.files[0]) //avatar 键,必须有引号

                //3.
                let {
                    data: {
                        data: { url }
                    }
                } = await axios.post('/api/file', fd)
                // console.log(res)

                avatarImg.src = url

                // 把头像的路径存到隐藏域中,serialize插件收集到头像数据
                hiddenAvatar.value = url
            })

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值