wx.getFileSystemManager().readFile({})转base64图片显示黑屏

4,744 阅读1分钟

wx.getFileSystemManager().readFile({})转base64图片显示黑屏

wx.canvasToTempFilePath({
    canvasId: 'canvas',
    // 这块fileType必须为png格式,否则获取的图片路径在转为base64流
    // 时安卓手机显示为黑屏,苹果手机显示正常
    fileType: 'png', 
    destWidth: 300,
    destHeight: 150,
    success: function (res) {
      console.log('res====', res)
      _t.setData({ canvasimgsrc: res.tempFilePath})
      wx.getFileSystemManager().readFile({
        filePath: res.tempFilePath, //选择图片返回的相对路径
        encoding: 'base64', //编码格式
        success: res => { //成功的回调
          console.log('转换成功==', res.data)
          var base = wx.base64ToArrayBuffer(res.data);
          var base64Img = 'data:image/png;base64,' + wx.arrayBufferToBase64(base)
          wx.navigateTo({
            url: '../preSign/preSign?imgurl=' + _t.data.canvasimgsrc + '&nowData=' + _t.data.nowData + '&base64Imgae=' + base64Img + '&sysdate=' + _t.data.sysdate
          })
        },
        fail: function (err) {
          console.log('转换失败:' + err)
        }
      })
    },
    fail: function () {
      wx.showModal({
        content: '微信当前版本不支持,请更新到最新版本!',
        showCancel: false
      });
    },
    complete: function () {
    }
  })