一、概述
在项目开发过程中遇到一个需要从小程序上传图片的需求,此需求实现起来并不难,只需要调用chooseImage接口拿到图片的临时路径然后调用uploadFile接口进行上传。到这里这个功能已经实现了,可是这样简单实现了之后用户在使用时体验非常差。因为现在手机摄像头像素非常高,拍出来的照片体积都很大,上传时不做处理就会导致上传耗时长,用户消耗流量大,查看图片时加载非常慢等体验问题。
二、图片压缩的方法及优缺点
为了消除影响用户体验的这些问题就必须在上传之前对图片做压缩处理减小图片的体积。微信小程序图片压缩总的来说有三种方法,一种是使用官方提供的接口 wx.compressImage(Object object);一种是利用canvas重绘来得到压缩图片;最后一种安装第三方图片压缩包。三种方法各有各的优点与缺点,由于各种原因未对使用第三方压缩包的方式进行验证,所以只对前两种方式进行说明。
1、wx.compressImage
优点:官方提供的接口在微信的背景下姑且认为它的压缩实现是最好的。官方接口对小于3MB的图片进行压缩时速度较快,耗时较少。
缺点:官方接口对于大于3MB的图片压缩较慢,耗时长。另外,当qualit