本来是没有这篇博客的,可我发现有很多朋友都调入这个坑里面所以我觉得有必要留下点什么。
1、单图上传安卓手机上传失败
这个问题是我在写第一个项目的时候遇到的问题,因为我是做安卓的本着能做不闲的思想我把公司的微信小程序也接过来了,
如此我从一名移动端在向前端的道路上移动。
当时项目已经完成提交给了测试,测试反馈说这里有问题。我用了微信的工具和我自己的水果机都进行了测试发现无异常直到
用测试的安卓手机进行测试发现了问题,这就奇怪了工具和苹果手机都没有问题然而就安卓手机有问题。
首先看下我的提交页面
已经当时的wx.uploadFile的方法代码
这里分享一个和编码有关的坑,主要是由于真机预览时 formData 中的非字母、数字的 ASCII 编码的字符如中文、泰文传输到服务端将不会自动进行转码码,并会会产生乱码及溢出,从而导致错误。
要解决这个问题很简单,我们需要对formData 中的值进行encodeURI编码然后服务端接受以后进行解码就行了
上传一下修改后的代码
上面就解决了单图上传失败的问题
2、wx.request上传失败
我们都知道微信小程序的接口必须是https的,当时当我们接入wx.request接口是会发现还是回调失败的方法,这说明我们还有地方有问题。这是我们需要在失败的回调方法里面把错误的消息打印出来
错误消息打印代码
我们android的童鞋可能会在打印的地方加上'错误-->'+res,这可能是在android中习惯了,在小程序中我们必须修改这种方式因为这可能导致你的错误消息打印不出来的。
我们来看下错误消息
微信在我们使用https接口时服务器还需要我们申请一个证书(腾讯和阿里云都有免费的证书),而且我们还需要把TLS的版本设置成大于1.2,这样我们才能正确的使用访问网络的接口。
如此这个问题也解决了,如果还有其他的问题我们可以通过继续打印错误消息来解决