收藏
回答

企业微canvasToTempFilePath:fail canvasId donot exist?

最新版企业微信(3.1.6)真机调试小程序,

canvas组件使用canvasToTempFilePath方法,报错fail:canvasId do not exist(模拟器和微信7.0.19真机上无此问题)

从console看传入的canvas对象是有canvasId的,

使用方法:

wx.canvasToTempFilePath({

canvas: canvas,

success: (res) => {

resolve(res)

},

fail: (error) => {

console.error(error);

resolve(error)

}

})


最后一次编辑于  2021-05-24
回答关注问题邀请回答
收藏

3 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2021-05-26

    你好,能否提供下复现问题的代码片段看下

    2021-05-26
    有用
    回复 3
  • 游戏人生
    游戏人生
    2021-05-24

    我猜你是新老写法的问题

    <canvas canvas-id='posterCanvas' class="myCanvas"></canvas>

    你的新写法

    canvas class="cover_canvas {{exhausted || isOver ?'hidden':''}}" type="2d" id='coverCanvas'></canvas>


    注意看写法的不同



    2021-05-24
    有用
    回复 3
    • ㅤ
      2021-05-24
      传入canvasId方式也试了,报错fail:canvas is empty
      2021-05-24
      回复
    • 游戏人生
      游戏人生
      2021-05-26回复
      不是,首先先确定下,你的canvas是新写法还是老的,老写法canvasId,新写法是canvas,两者不能共存
      2021-05-26
      回复
    • ㅤ
      2021-05-27回复游戏人生
      canvasId去掉也是报错的
      2021-05-27
      回复
  • Z
    Z
    2021-05-24

    说的是canvasId 你传的在哪呢

    2021-05-24
    有用
    回复 8
    • ㅤ
      2021-05-24
      同样的代码在微信里面是好的,看第一个console.error,微信里面打印出来是一样的_canvasId都有值,_nodeCanvasId都是<undefined>
      2021-05-24
      回复
    • Z
      Z
      2021-05-24回复
      你用的canvas 是旧版的 还是2d的呢
      2021-05-24
      回复
    • ㅤ
      2021-05-24回复Z
      我代码里已经指定了type,应该不是旧版的吧
      2021-05-24
      回复
    • Z
      Z
      2021-05-24回复
      光这个还不行,还需要一个 const ctx = canvas.getContext('2d')
      2021-05-24
      回复
    • Z
      Z
      2021-05-24回复
      看一下就到底是怎么写的,新老版本写法有点不一样
      2021-05-24
      回复
    查看更多(3)
登录 后发表内容