收藏
回答

wx.canvasToTempFilePath导出的图片地址不一致

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 微信安卓客户端 8.019 2.23.0

wx.canvasToTempFilePath导出的图片地址不一致,在开发者工具中是以http://tmp/wx开头的,真机调试是临时文件wxfile://tmp_,需要转为base64,有没有大佬遇到过, 也没有什么更好的解决的方案

wx.canvasToTempFilePath({
									canvasId: 'contract',
									success: async res3 => {
										let base64Image = await _this.ImgToBase64Func(res3.tempFilePath);
										console.log(base64Image, 'base64Image');
										// _this.geturlReq(baseFormat + base64);
										uni.hideLoading();
										// H5合成之后显示的base64
										// 微信小程序显示的是 "wxfile://tmp_ca0a5dc8ff23ce5ea90274dcc8cec9ecf014e72fbaab45e8.png"
									}
								});


ImgToBase64Func(filePath) {

return new Promise((resolve, reject) => {

let baseFormat = 'data:image/png;base64,';

let base64 = wx.getFileSystemManager().readFileSync(filePath, 'base64');

resolve(baseFormat + base64);

});

},

最后一次编辑于  2022-03-16
回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    2022-03-16

    转换base64跟http和wxfile有啥关系,没看懂

    2022-03-16
    有用 1
    回复 12
    • ㅤ
      2022-03-16
      你好, 就是我现在需要 wx.canvasToTempFilePath 返回的格式,在微信真机上 wxfile://tmp_ 转为base64 然后传给后端, 现在不知道怎么转
      2022-03-16
      回复
    • Mr.Zhao
      Mr.Zhao
      2022-03-16回复
      自己回答自己?
      2022-03-16
      回复
    • ㅤ
      2022-03-16
      不好意思大哥,我也是刚接手小程序不太了解, 现在就是想将 wx.canvasToTempFilePath 返回的格式 转为base64
      2022-03-16
      回复
    • Mr.Zhao
      Mr.Zhao
      2022-03-16回复
      别不好意思了,你就是自己回答自己
      2022-03-16
      回复
    • Mr.Zhao
      Mr.Zhao
      2022-03-16回复
      这段代码你该不会没在真机运行过吧
      2022-03-16
      回复
    查看更多(7)
  • 小涛。
    小涛。
    2023-03-22

    大哥 最后怎么解决的

    2023-03-22
    有用
    回复
登录 后发表内容