ios端 App内嵌h5页面在上传图片时,图片被压缩问题
一、需求。
项目是基于react框架实现的h5页面,最终内嵌部署到App环境下。要求在上传图片时可限制单个文件的大小。
这时出现一个现象,在ios端选择一张11Mb的图片,file.size可以正常地console.log出来,而当选择18Mb更大的图片时候,打印出来的文件大小只有5Mb不到。而在安卓端并没有出现压缩的问题。随后改为input原生的文件选择发现同样存在该情况。
二、原因。
首先,排查ant-mobile的官方上传控件发现 并没有对图片进行压缩处理。
项目中通过webView加载了h5页面,在上传时 使用ant-mobile的官方组件,但在图片选择部分实则调用了ios webView底层的文件选择,因此初步猜测是ios底层对图片选择处理上采用它自己的选择图片逻辑,然后对图片进行了判断压缩。
在对ios版本不同版本的系统分别进行测试后发现,在新系统ios14.6上,选择的图片并没有被压缩,获取的就是文件的原图大小,而在ios14.1,ios13等更早的版本存在压缩问题。

浙公网安备 33010602011771号