素材牛VIP会员
微信小程序中的图片压缩问题
 韩***y  分类:JavaScript  人气:909  回帖:1  发布于6年前 收藏

现在在做一个图片上传的功能,但是用户上传图片太大会导致上传时间太长,小程序自带的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画图保存哪种办法好一点

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv4 码徒
cx***de 页面重构设计 6年前#1
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取