小程序端图片上传压缩简析
~
之前我写过几篇文章,主要描述在微信通过公众号H5上传图片会存在图片的压缩情况,并且不同机型的压缩还不一样,哪怕选择了原图依然存在压缩,那么,通过小程序上传是否存在这个问题呢
由于之前一直没有场景上传图片,近期做抽奖活动小程序,存在上传图片封面的场景,趁机可以对这个问题做进一步的分析、
在图片上传过程中具体用到的技术方案是
1)从本地相册选择图片或使用相机拍照
https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html
2)读取本地文件内容
https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html
3)校验一张图片是否含有违法违规内容
4)上传文件
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/storage/api.html
5)
下面用iphonex手机测试如下,我从手机里面随机找了一张图片大小最大的,如下图所示为5.3M
1
1
1
1
在iphoneX手机下,对于一个5.3M图片,采用如上所示原图上传,图片大小为 「 5295740 」 Byte,即5.3M,未经过压缩
测试示例二
iphoneX,在不选择原图的模式下,上传图片,
1
1
1
1
在iphoneX手机下,对于一个5.3M图片,采用如上所示非原图上传,图片大小为 「 337745 」 Byte,即0.34M,数量级直接降了一个,压缩十分厉害。
测试示例安卓手机
1
1
1
采用三星 S10+ 测试,跟上述iphoneX,基本一致,原图上传,没有经过压缩,非原图上传,压缩比较大,跟原图不在一个数量级
总结
小程序上传图片,在苹果和安卓系统,如果采用原图上传,没有经过压缩,如果非原图上传,存在较大的压缩比,跟原图不在一个数量级。