7***@qq.com
7***@qq.com
  • 发布:2019-05-19 20:46
  • 更新:2021-12-14 10:47
  • 阅读:7989

uni.canvasToTempFilePath 成功、失败回调都不走

分类:uni-app

调 uni.canvasToTempFilePath Script error.filename:lineno:0 报错,成功、失败回调都不走。另一个页面也用过这个api,没出现这种问题.

2019-05-19 20:46 负责人:无 分享
已邀请:
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

请提供完整Demo

  • 7***@qq.com (作者)

    解决了,看了下代码,canvas丢在一个view标签里,这个view标签是v-show的,没有渲染。。。

    2019-05-20 11:56

  • 7***@qq.com (作者)

    uni.canvasToTempFilePath在h5下不是路径,是base64 而且base64是不全的,只有一小截,这个bug什么时候修复。上传图片,后台要求base64,就是因为这个bug,最后叫后台改,我用了你们的文件上传

    2019-05-20 16:26

  • 1***@qq.com

    我遇到了同样的问题,但是没有v-show,求解

    2019-11-06 14:24

  • 1***@qq.com

    回复 1***@qq.com: +1 有没有解决了的?

    2020-05-15 15:10

  • shuanghello

    回复 1***@qq.com: 解决了吗遇到相同的问题 2.8.8

    2020-10-28 11:23

7***@qq.com

7***@qq.com (作者)

drawImage: function(res) {
var that = this;
let ctx = uni.createCanvasContext('canvasQrcode')
if (!ctx) {
uni.hideLoading();
uni.showModal({
title: '生成二维码失败',
content: '请搜索"xxx"小程序,并在小程序观看课程',
showCancel: false
})
return;
}
//背景
ctx.drawImage(this.Data.backImg, 0, 0, this.Data.windowWidth, this.Data.windowHeight)
ctx.save()

            //二维码  
            ctx.drawImage(this.Data.qrimg, 80, 90,  
                this.Data.qrSize,  
                this.Data.qrSize);  
            ctx.draw(false,function () {  
                console.log('导出图片')  
                uni.canvasToTempFilePath({  
                    x: 0,  
                    y: 0,  
                    width: that.Data.windowWidth,  
                    height: that.Data.windowHeight,  
                    destWidth: that.Data.windowWidth,   
                    destHeight: that.Data.windowHeight,  
                    canvasId: 'canvasQrcode',  
                    success: function(drawResult) {  
                        console.log('成功:',drawResult.tempFilePath)  
                        uni.hideLoading()  
                        that.Data.hideQrImg = true;  
                        that.Data.qrimg = drawResult.tempFilePath  
                    },  
                    fail: function(errs) {  
                        console.log('生成图片出错:',JSON.stringify(errs))  
                        uni.hideLoading()  
                        uni.showModal({  
                            title: '绘制小程序二维码失败',  
                            content: '请搜索""小程序,并在小程序观看课程',  
                            showCancel: false  
                        })  
                    },  
                    complete: (complete) => {  
                        console.log('complete:',JSON.stringify(complete))  
                    }  
                }, that)  
            });  
        },
c***@163.com

c***@163.com

服了,2021年都快完了,这问题还有,又不成功,又不报错,怎么查问题啊?

  • 丁町

    2022年了 还是没解决

    2022-01-13 13:04

  • 雨客

    回复 丁町: 2023

    2023-11-22 16:53

该问题目前已经被锁定, 无法添加新回复