Flutter开发App的未来及其在各行业的应用潜力分析
1001
2023-11-14
由于公司业务拓展,急需基于uniapp生成支付宝小程序。之前已经成功将微信小程序和H5融合成一套码,故得知此需求的时候,笔者信心十足,但是本着实践出真知的想法,觉得还是得先调研一下uniapp在支付宝小程序的兼容性,并集成已有项目主体关键功能,为后续的技术调研方案做准备。在调研过程中,发现之前封装好的图片压缩方法在支付宝小程序上无法正常使用,重新阅读了官方文档后,又双更新了项目的图片压缩方法的使用流程。
之前封装好的压缩方案,原理是使用canvas现实的,但是在支付宝小程序端不生效,canvas相关的api存在但是不可用。
查阅文档后,给canvas添加了id区分支付宝小程序,可兼容之。
以下是官方文档原文
uni.createCanvasContext(canvasId, this)#定义
画布表示,传入定义在 <canvas/> 的 canvas-id或id(支付宝小程序是id、其他平台是canvas-id)
1,封装公用工具类compressImage.js
2,html调用并上传服务器:
原理上是使用canvas实现的,小于100k的图片不做压缩。
然后在wx.chooseImage接口成功回调中调用(使用tempFiles字段,因为它包含了图片大小)
在定义两个回调函数,用于设置画布大小和接收压缩结果
至此使用步骤已介绍完毕
以上就是笔者分享的图片压缩上传的方法封装及使用啦,完美兼容支付宝小程序,微信小程序及H5三端。
到此这
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~