具体需求:登录后缓存微信头像,在调用某接口时,判断数据库中用户是否有头像,若为空,则将微信头像上传至服务器中,后续展示就用数据库中的头像数据。
具体实现:获取缓存的微信头像,调用wx.getImageInfo()得到微信头像路径(这一步是必需步骤),再调用wx.uploadFile()上传微信头像。
代码:
saveUserPhoto(){
var that = this;
let wxPhoto = wx.getStorageSync('avatar')
console.log('开始上传微信头像到后台,微信头像地址:',wxPhoto)
//获取图片信息
wx.getImageInfo({
src: wxPhoto,
success: function (res) {
var params = {
imgPath: res.path
}
//上传图片
network.upload(params,that.getFileInfo);
},
fail: function(srev){
}
});
},
getFileInfo(res){
if(res.fileUrl.state!==0){
wx.showToast({
title: '上传头像失败',
icon: 'none'
})
return
}
console.log('调用upload接口上传