调 uni.canvasToTempFilePath Script error.filename:lineno:0 报错,成功、失败回调都不走。另一个页面也用过这个api,没出现这种问题.
- 发布:2019-05-19 20:46
- 更新:2021-12-14 10:47
- 阅读:7989
uni.canvasToTempFilePath 成功、失败回调都不走
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)
});
},
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