2023-09-22 uniapp之canvas调用api【uni.canvasToTempFilePath】报错返回:canvasToTempFilePath:fail fail canvas is empty==》canvas被隐藏了导致无法显示

发布时间 2023-09-22 14:48:47作者: 哎呦你可棒棒了

canvasToTempFilePath:失败-失败画布为空

一般的解决方案就是查看uni.canvasToTempFilePath的传参是否正确,一个是canvasId必须正确,另一个就是第二个参数为this;

但事情显示没那么简单,这二者我都有填写,却仍旧报这个错,我把canvasid换成别的,最后我想起了一件事情,就是canvas为空是因为没有识别到它,而导致没有识别到它可能是因为当前页面不存在这个元素。

果然!在我的业务中,canvas是等待ctx.draw绘制完成才显示,这就是导致canvas为empty的原因所在。

在uni.createCanvasContext一个canvas时,必须得让当前页面存在canvas元素,否则就无法识别!