微信小程序,如何上传以及同步微信头像?

wxml
 <view class="main_cu-item">
      <text class="left_text-df">头像</text>
      <button class="no-border-button" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
        <image class="home-avatar-header round" src="{{avatarUrl||defaultAvatarUrl}}"></image>
      </button>
    </view>
js
data:{ 
         defaultAvatarUrl:'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0',
}

 

onChooseAvatar(e) {
    const { avatarUrl } = e.detail 
    this.setData({
      avatarUrl,
    })
    this.uploadImage(avatarUrl)
 },
   // 上传头像到服务器
 uploadImage(filePath) {
    let urlDomain="https://wwww.baidu.com..."
    if (filePath) {
      let timestamp = getStamp();
      let Cookie = wx.getStorageSync('cookie');
      let CookieArr = Cookie.split(',');
      let newCookie = CookieArr.join(';');
      wx.uploadFile({
        header:{
          'random': timestamp,//权限验证--根据项目来,看项目需要什么做权限验证,可要可不要
          'Cookie': newCookie//权限验证--根据项目来,看项目需要什么做权限验证,可要可不要
        },
        url:urlDomain+'/rent-platform/minigram/updateHeadimgAndNickname', // 服务器地址
        filePath: filePath, // 文件路径
        name: 'file', // 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容
        formData: {
        },
        success: (res) => {
          const data = JSON.parse(res.data); // 服务器返回的数据
          if(res.statusCode==200) {
            if(data.errCode=='0'){
              this.setData({
                avatarUrl: filePath // 更新头像的临时路径
              });
              wx.showToast('上传成功')
            }
          }
        },
        fail: (err) => {
          console.error(err);
        }
      });
    }
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值