今天在开发H5图片上传的时候,遇到一个问题。安卓手机的上传全部都是ok的,但偏偏卡在了ios这边。i6、i6s、IX三款机型都测出了bug,导致上传不了,卡在了调用接口的前一秒。
真正的原因是在代码中输入了
console.log(fd.get("ImgFile"))
部分代码是这样的
for(let i =0 ;i<files.length;i++){
let fd = new FormData()
fd.append('ImgFile', files[i].file)
fd.append('AppKey', this.$store.state.AppKey)
fd.append('Token', Token)
console.log(fd.get("ImgFile")) =====>罪魁祸首在这里
imgList[i] = this.imgUpload(fd)
}
一直找原因,每一处都alter()一下,最后在ie浏览器的支持下(第一次那么喜欢ie),发现问题在fd.get()这里。 每次运行到这里都报错,最后发现在这里:如下
到了这里才发现部分ios机型居然不支持。当我把这行代码注释掉之后,困扰了这么久的bug终于落幕了。