场景:
用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 就是临时路劲
这样处理过后,调用上传接口,后端反馈读取图片失败