收藏
回答

canvasToTempFilePath: fail canvas is empty"是平台bug?

目前的状况是让人云里雾里:开发工具正常,预览正常,真机调试也正常,但上线后发现有一部分手机报错,另一部分手机正常(而且正常和不正常的手机的微信版本都一样,都是最新的8.0.28,只是手机品牌不同)。这种现象在QQ小程序平台也发生了。

这种大坑让开发者防不胜防啊,目前用的是旧版canvas,有心想换成新版canvas。但是新版canvas就不会出错吗?另外,因为同时在QQ小程序平台也上线,QQ那边好像查不到新版canvas的文档,会不会QQ不支持新版canvas?

请大佬或官方指点,谢谢!



回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2022-10-14

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-10-14
    有用
    回复 3
    • 潇湘夜雨2016
      潇湘夜雨2016
      2022-10-14
      感谢回复,代码片段太长了,提供起来比较麻烦。但现在我发现一个规律,就是第一次canvasToTempFilePath没问题,问题都出在第二次canvasToTempFilePath(开发工具没问题,您要是愿意尝试,可以尝试真机两次canvasToTempFilePath,分别用不同的画布,应该第二次就出问题)。难道第一次用完画布还需要释放什么资源吗?另外您知道QQ小程序支持新版canvas吗?如果支持,我想尝试新版了,感觉旧版canvas里面有无数的巨坑。。。
      2022-10-14
      回复
    • 潇湘夜雨2016
      潇湘夜雨2016
      2022-10-14
      也就是说同样一个调用canvasToTempFilePath的模块(比如保存相册),如果第一次就直接调用这保存相册模块,那么结果正常。但如果这之前还有其他模块(例如裁剪模块)先调用了一次canvasToTempFilePath,那么这之后的保存相册模块里面的canvasToTempFilePath就不正常了。所以我觉得我canvasToTempFilePath的使用方法肯定是正确的,不然第一次调用canvasToTempFilePath肯定也出错对吧?况且,我抱着尝试的态度,论坛里说的各种方法,例如传递this参数之类的方法都尝试了,全都不行。。。。
      2022-10-14
      回复
    • 社区技术运营专员--阳光
      社区技术运营专员--阳光
      2022-10-17回复潇湘夜雨2016
      看能不能尽量剥离一个代码片段出来确定下
      2022-10-17
      回复
登录 后发表内容