小程序上传的图片怎么先转base64在传后台
发布于 5 年前 作者 fanghao 12366 次浏览 来自 问答
let that = this;
   wx.chooseImage({
     success: function (res) {
       var tempFilePaths = res.tempFilePaths
       console.log(tempFilePaths[0])
       let  canvas = wx.createCanvasContext('myCanvas')
         // 1. 绘制图片至canvas
         canvas.drawImage(tempFilePaths[0], 0, 0, 75, 75)
         // 绘制完成后执行回调,API 1.7.0
         canvas.draw()
         // 2. 获取图像数据, API 1.9.0
         wx.canvasGetImageData({
           canvasId: 'myCanvas',
           x: 0,
           y: 0,
           width: 75,
           height: 75,
           success (res) {
             console.log(":res", res)
             // 3. png编码
             let pngData = upng.encode([res.tempFilePaths[0]], 75, 75)
             // 4. base64编码
             let base64 = wx.arrayBufferToBase64(pngData)
             console.log("=---", base64)
           }
         })
       wx.setStorageSync('addImg', tempFilePaths[0])
       that.setData({
         addImg: tempFilePaths[0]
       })
        
       })
     }
   })
4 回复

我怎么转不成功呀

官方真应该出一个这样的api,现在用的第三方插件(upng.js),不知道为啥在转base64 会有一定的概率会出现空白,没有出现的时候,有很大的概率出现,出现一次之后,往后基本就不会出现,很莫名其妙

怎么转的啊?我这怎么转都是一片空白啊???

微信上传图片了解一下

回到顶部