背景
今天开发遇到了一个非常奇怪的问题,前端逻辑相同,后端接口也是同一个。但是这时候奇怪的事情发生了(搬好小板凳,不清楚缘由会觉得很玄学)
- 相机上传非常速度,非常正常
- 相册上传非常缓慢,接口失败率90%
这时候第一反应:
原生的问题(哈哈哈,对不起)
排查:
打印原生回调的base64,拿到了。
这时候第二反应:
服务端的问题
排查:
同样的接口,只有相册不行,服务端也没做其他处理
咦,奇了怪了,抓包,我不信我参数没传过去
抓包,对了吧,服务端的问题,我穿过去了。
这时候找来后端小伙伴帮忙一起查看这个问题:
- 他专业的很呀
挨个对比,最后发现content-length不一致
一个1000000,另一个7000000
额,我不知道这个content-length是个啥呢。。
哦,原来是图片太大了,好家伙,那前端压缩下图片吧。
(重申一遍,只有安卓会出现这种情况)
因为原生安卓相册和相机返回的就是url格式,而不是base64格式,所以在url转base64的时候压缩下就好了~
总结
只是自己遇到的一个小记,希望共享。