收藏
回答

自定义组件里调用wx.canvasToTempFilePath失败

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 canvas 客户端 iOS 6.6.2 1.9.92

我想反馈一个 问题:

自定义组件里定义

<canvas  class="papercanvas"  canvas-id="PaperCanvas" id="PaperCanvas"  bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd" bindtouchcancel="touchCancel" binderror="canvasError" disable-scroll="true"></canvas>


绘图区域可以正常写字,调用微信API:

wx.canvasToTempFilePath({

canvasId: 'PaperCanvas',

success: function (res) {

console.log(res.tempFilePath);

},

fail: function (res) {

console.log(res);

}

结果:

errMsg:“canvasToTempFilePath:fail canvas is empty


但是在普通页面调用此API就不会报错。

最后一次编辑于  2018-03-07  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

12 个回答

  • 春节快乐
    春节快乐
    2018-04-19

    getHandWritingPng:function(){

    var paperThis = this;

    const app=getApp();

    wx.canvasToTempFilePath({

    canvasId: 'PaperCanvas',

    success: function (res) {

    console.log("成功获取图片"+res.tempFilePath);

    app.data.handwritingpath = res.tempFilePath

    return res.tempFilePath

    },

    fail: function (res) {

    console.log(res);

    return ''

    }

    }, paperThis)

    },


    2018-04-19
    赞同 11
    回复
  • 春节快乐
    春节快乐
    2018-03-09

    有人回复一下吗?

    2018-03-09
    赞同
    回复
  • 李伟豪
    李伟豪
    2018-03-14

    wx.canvasToTempFilePath({},this);在后面加这个this

    2018-03-14
    赞同
    回复
  • 春节快乐
    春节快乐
    2018-03-14

    加了也不行

    2018-03-14
    赞同
    回复
  • 李伟豪
    李伟豪
    2018-03-14

    那你的检查代码其他地方,我这边可以用。

    2018-03-14
    赞同
    回复
  • 春节快乐
    春节快乐
    2018-03-14

    谢谢你啊

    2018-03-14
    赞同
    回复
  • 梁宏娜
    梁宏娜
    2018-04-19

    解决了么?

    2018-04-19
    赞同
    回复
  • 春节快乐
    春节快乐
    2018-04-19

    解决了

    2018-04-19
    赞同
    回复
  • 梁宏娜
    梁宏娜
    2018-04-19

    怎么实现的,能贴一下代码么?我在组件里用

    wx.canvasToTempFilePath

    只能调用一次,之后再调用,不能触发

    2018-04-19
    赞同
    回复
  • 梁宏娜
    梁宏娜
    2018-04-19

    谢谢

    2018-04-19
    赞同
    回复