微信jssdk选择图片后怎么转换成base64

wx.chooseImage({
    count: 1, 
    sizeType: ['original', 'compressed'], 
    sourceType: ['album', 'camera'],
    success: function (res) {
        var localIds = res.localIds;
    }
});

请教这个localIds是否能转换成base64图片吗?

阅读 8.1k
1 个回答

jssdk里,有个getLocalImgData,就是不知道支持度怎么样

clipboard.png

--------------以下为新处理方式---------------
由于[getLocalImgData]不能同时异步处理多张图片,所以特殊处理了下

this.$wx.chooseImage({
  count: count, // 默认9
  sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  success: (res) => {
    let localIds = res.localIds // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
    localIds.forEach(li => {
      this.images.push(li)
    })
    this.drawImages(currentSize)
  },
  fail: (err) => {
  }
})
drawImages (index) {
  let xIndex = index || 0
  // 加载图片
  this.$wx.getLocalImgData({
    localId: this.images[xIndex],
    success: (res) => {
      let localData = res.localData
      if (window.__wxjs_is_wkwebview) {
        this.images.splice(xIndex, 1, localData)
        this.notify(localData)
      } else {
        // this.images.splice(i, 1, 'data:image/jgp;base64,' + localData)
        this.notify(localData)
      }
      this.drawImages(xIndex + 1)
    }
  })
},

详细处理请参考:https://segmentfault.com/a/11...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题