最近做了个项目,要求app里嵌套个H5页面,主要是图片的上传功能,不过在安卓上遇到了问题,由于采用的是一次性上传多张图片,但在安卓上拍照时,最后一张图片总会把前面的覆盖掉。相册选择图片没有问题,导致测试小哥没有测出来,app就匆匆上线了,发包解决太慢,还要等审核,然后就只能前端想办法处理,悲催。
经过调试发现,
fileObj = document.getElementById('idCard_' + i).files[0];
拍照后保存的图片路径是同一个,所以我从input[type=file]取到的文件永远是最后一张,所以就想到重新生成一个文件对象不就能解决了吗?于是有了这样一行代码,
flieArr[i] = new File([fileObj], new Date().getTime() + fileFormat)
成功解决,图片压缩什么的就不说了,网上太多了