現在在做一個圖片上傳的功能,但是用戶上傳圖片太大會導致上傳時間太長,小程序自帶的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畫圖保存哪種辦法好一點
微信小程序中的圖片壓縮問題
牛魔王的故事
2019-02-25 15:14:50