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);
}
});
}
},