微信小程序安卓机使用uploadfile提示undefined错误原因

微信小程序安卓机使用uploadfile提示undefined错误原因


前几天在开发小程序时遇到一个问题,发布帖子的时候上传本地图片到服务器上,在安卓机子上使用微信的uploadFile接口上传图片会失败,显示获取不到图片信息,在开发工具上是没有问题的,
然后我一步步测试了代码发现安卓手机是可以获取到本地图片信息的,只是获取到的图片数据格式有所不同
安卓手机上获取到的图片filePath是wxfile://xxx.jpg,
开发工具上获取到的图片filePath是http://tmp/wxbef352c853d73a7c.o6zAJs7u0kL6pm6sMDKc….yek8vRbR7QUV6b0b32792d976a7c02b8debd8e0f8382.jpg
以上两种路径的格式正好说明了问题,我们原本的用来解析filePath的方法用在安卓系统上那肯定是返回undefined,所以要对安卓系统重新写一个解析
例如

// An highlighted block
var filePath = xxx  //获取到选择本地图片的临时路径
var cloudPath   //文件上传路径
wx.getSystemInfo({
	success: function(res){
		if(res.platform == 'android'){
			cloudPath = filePath.split('//')[1]  //安卓系统的解析方法
		}else{
			cloudPath = filePath.split('.')[2] + filePath.match(/\.[^.]+?$/)[0]
		}
	}
})
wx.cloud.uploadFile({
	cloudPath: cloudPath,
	filePath: filePath,
	success: res => {
		console.log('上传成功' , res)
	},
	fail: e => {
		console.error('上传失败', e)
	}
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值