评论

ios报错 canvasToTempFilePath:fail invalid viewId的解决办法

canvas转临时路劲

场景:
用canvas画好图片之后,调用wx.canvasToTempFilePath,开发工具和安卓机正常,ios报错canvasToTempFilePath:fail invalid viewId
解决:
1、调用Canvas.toDataURL先转成base64
2、将base64转成本地临时路劲


  let base64 = canvas.toDataURL();
  const time = new Date().getTime();
  const imgPath = wx.env.USER_DATA_PATH + "/poster" + time + "share" + ".png";
  //如果图片字符串不含要清空的前缀,可以不执行下行代码.
  const imageData = base64.replace(/^data:image\/\w+;base64,/"");
  const fs = wx.getFileSystemManager();
  fs.writeFileSync(imgPath, imageData, "base64");
  fs.close()
  // imgPath 就是临时路劲
最后一次编辑于  2023-09-25  
点赞 0
收藏
评论

2 个评论

  • LauHing[666]
    LauHing[666]
    11-15

    谢谢大佬,这个方法可用

    修复了测试iphone13mini手机的bug

    11-15
    赞同
    回复
  • 旺旺旺仔
    旺旺旺仔
    07-10

    这样处理过后,调用上传接口,后端反馈读取图片失败

    07-10
    赞同
    回复
登录 后发表内容