在使用uniapp开发事,使用uni.chooseImage,uni.uploadFile()
上传照片时,发现在支付宝端如果选择照片为缩略图,则无法正常上传,上传直接报错:statusCode:429,上传失败,(后端接口对图片后缀有校验)
uni.chooseImage({
})
uni.upoloadFile({
})
在网上看到需要将uploadfile api中的header{content-Type设置为application/x-www-form-urlencoded;charset=utf-8}
设置好后,再试,发现确实可以上传了,但是仅仅安卓手机端可以上传,苹果手机端无法上传。
最后在后端支持下发现通过uni.chooseImage选择的照片后缀都被转成了大写,因此后端接口的后缀与上传报文中的文件后缀发生冲突,导致文件格式不一致,上传失败
最后通过限制用户只能通过选择原图,并且在uni.uploadFile上传图片是,接口后缀分微信和支付宝,在细分条件安卓和苹果解决了此问题