微信小程序头像上传示例,处理base64图片文件上传问题

迅睿框架 更新 2025-08-10 00:21:18 小鱼儿

微信小程序头像上传功能,解决图片base64上传转码问题

      <button  open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
              <image class="avatar" :src="member.avatar+Math.floor(Math.random() * 10000)"></image>
             </button>
   onChooseAvatar(e) {
    let that = this;
    const {avatarUrl} = e.detail;
    wx.getFileSystemManager().readFile({
     filePath: avatarUrl, //要读取的文件的路径 (本地路径)
     encoding: "base64", //指定读取文件的字符编码
     success(res) {
      //转换完毕,执行上传
     let avatar=encodeURI('data:image/png;base64,' + res.data).replace(/\+/g,'%2B');//避免特殊字符+ 传输变成空格,重要
     that.http.post('&s=member&c=account&m=avatar&r=9351','is_ajax=1&file='+avatar) //我这里是单独封装过的请求方式,按照官方头像上传接口传输内容即可https://www.xunruicms.com/doc/1081.html
      .then(obj => {
       uni.setStorageSync('member', obj.data.data); //按照自己的用户保存方式,更新用户信息
       that.member= obj.data.data;
       uni.showToast({
        icon:false,
        title: obj.data.msg,
        duration: 2000
       });
      }).catch(err => {
       console.log(err)
      })
     }
    })

   },


方案

  • 讯睿cms铁粉 #1 · 2024-01-11 11:06:49
    支持 学习一下
  • zlhwgpl #2 · 2025-08-10 00:21:18
    不知道行不行,天天变

迅睿系统漏洞

GeoSeo收录宝
GeoSeo收录宝(2026-09-01)
升级 ai智能发布功能 升级 支持8国语言后端设置和前端输出功能 ...
Word发布批量上传
Word发布批量上传(2026-08-31)
版本覆盖问题重发
多语言翻译Seolang
多语言翻译Seolang(2026-08-31)
新增 LLM 大模型对话翻译模块 配置层强类型化重构 URL 模...
自定义存储
自定义存储(2026-08-30)
同步服务器端通用版实现,统一管理端、CMS 端和浏览器直传的提示与错...
GeoSeo工具箱
GeoSeo工具箱(2026-08-29)
新增 bing推送 新增 IndexNow推送 新增 baidu...
外贸多语言建站
外贸多语言建站(2026-08-27)
新增阿里云专业版入口 新增阿里云自动识别字符格式
Querylist渐进式采集
Querylist渐进式采集(2026-08-26)
增加范围截取规则
实时任务
实时任务(2026-08-26)
补充并整理完整使用说明、历史版本更新日志,统一帮助页样式。