解决小程序wx.getUserProfile接口回收,wxfile://tmp临时文件转base64传回后台

1.需求微信小程序接口回收,用户授权后没有办法获取到用户的头像跟昵称。

可以弄一个个人信息,让用户设置自己的头像跟昵称

2.代码

设置一个按钮让用户点击后可以直接获取到用户的头像,或者选择图片库上的图片去上传。

<view class="data_list">
          <view class="data_list_left">
            头像
          </view>
          <view class="data_list_right">
            <button
              class="avatar-wrapper"
              open-type="chooseAvatar"
              @chooseavatar="onChooseAvatar"
            >
              <image
                class="avatar"
                mode="aspectFill"
                :src="userInfo.avatarUrl"
              />
            </button>
          </view>
        </view>
        <view class="data_list">
          <view class="data_list_left">
            昵称
          </view>
          <view class="data_list_right">
            <input
              type="nickname"
              class="weui-input"
              placeholder="请输入昵称"
              :value="userInfo.name"
              @change="changeName"
              @input="inputName"
            >
          </view>
        </view>

 注意:buttom上需要添加上open-type="chooseAvatar"字段 @chooseavatar="onChooseAvatar"事件

 通过按钮获取出来的url地址在开发者工具上的是https开头的,但是去到真机测试的话就变成了wxfile://tmp_开头,wxfile://tmp_可以使用image标签去使用,但是有些组件可能不兼容,所以还是推荐开发者把头像转成base64文件,或者别的方法去吧用户的头像上传到服务器上去,我这边是直接跟后台沟通直接传base64回去给他的

onChooseAvatar(e) {
      this.userInfo.avatarUrl = 'data:image/jpeg;base64,' +     wx.getFileSystemManager().readFileSync(e.detail.avatarUrl,'base64')
      console.log(this.userInfo.avatarUrl)
    },

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值