uni-app获取用户头像下载失败

作者:自由 2020/12/16 23:35:01
uni-app获取用户头像并且下载头像,uni.downloadFile下载头像失败的解决方案

一.在我们使用uni-app的时候,经常会用到获取头像的这个方法。

 uni.getUserInfo({
	provider: 'weixin',
	success: function(result) {				
		let userinfo= result.userInfo
		console.log(userinfo)
	}
});

 

二.微信小程序下载头像方法

 

				uni.downloadFile({
					url: userInfo.avatarUrl,
					success: function(res) {
						uni.hideLoading();
						self.avatarPath = res.tempFilePath;
					},
					fail: function(e) {
						console.log(e);
						uni.hideLoading();
						uni.showModal({
							title: '图片加载超时',
							content: "网络异常,请稍后重试",
							success(res) {
								if (res.confirm) {
									self.downloadAvatarAndPaintAll(imageUrl);
								} else if (res.cancel) {
									console.log('用户点击取消');
								}
							}
						})
					}
				})

 

三.在下载的时候,会遇到一个问题,下载失败,刚开始我以为是因为获取头像的接口有问题,但是我发现在微信开发者工具里,不报错只有在发布正式版或者测试版的时候,获取头像失败,于是我想到了一个问题应该是微信小程序设置不能透过这个域名,大概会出现以下几个问题

 

①刚开始获取的微信的头像的路径是https://thirdwx.qlogo.cn,这个不是微信官方域名,所以我们要替换为https://wx.qlogo.cn

例如:

userInfo.avatarUrl = result.detail.avatarUrl.replace("132", "0").replace('https://thirdwx.qlogo.cn', 'https://wx.qlogo.cn');

②其次,要配置微信小程序的下载路径域名地址。

进入微信小程序管理后台,选择“开发管理——》开发设置“在开发设置下的服务器域名中设置downloadFile合法域名

设置为合法域名后,重新发布小程序就可以了

上传头像失败

下载头像失败

uni.downloadFile下载头像失败

uni-app获取用户头像

评论: