现在在做一个图片上传的功能,但是用户上传图片太大会导致上传时间太长,小程序自带的chooseImage里面的压缩有限,现在找到一种办法,就是canvas里面的toDataURL方法,可以把图片转为base64的编码,但是调用此方法需要选中dom元素,代码如下compressImage (url) { let cvs = document.createElement('canvas') let ctx = cvs.getContext('2d') let img = new window.Image() img.src = url img.onload = () => { cvs.width = img.width cvs.height = img.height setTimeout(() => { ctx.drawImage(img, 0, 0, cvs.width, cvs.height) this.newImageData = cvs.toDataURL('image/jpeg', 0.1) }, 0) this.showPreviewer = true }},微信小程序无法选中dom元素,所以想知道1.如何调用此方法2.还有一种方法就是canvas画图,直接保存。想知道chooseImage里面的压缩,toDataURL和canvas画图保存哪种办法好一点
添加回答
举报
0/150
提交
取消