// 绘制到画布并生成图片
canvasImage () {
this.canvas.draw(false, setTimeout(() => {
setTimeout(() => {
// #ifndef MP-ALIPAY
uni.canvasToTempFilePath({
x: 0,
y: 0,
width: Number(this.width),
height: Number(this.height),
fileType: 'jpg',
canvasId: 'canvas',
success: (res) => {
this.$emit('canvasImage', res.tempFilePath);
if (this.showPreview) {
this.showPreviewFn(res.tempFilePath);
}
},
fail: (res) => {
console.log(res);
},
complete: () => {
uni.hideLoading();
}
}, this);
// #endif
// #ifdef MP-ALIPAY
// 支付宝的
// #endif
}, 500);
}));
},
- 发布:2020-12-09 10:55
- 更新:2021-01-16 11:29
- 阅读:2131
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win7
HBuilderX类型: 正式
HBuilderX版本号: 2.9.8
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: 华为mate 30 pro 5G(LIO-AN00)
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
App下载地址或H5⽹址: http://d.firim.pro/testiqfios
示例代码:
操作步骤:
运行设备:华为
开发APP -> 我的 -> 分享得积分 -> 邀请
无法生成海报。
在出华为机型上正常生成海报
运行设备:华为
开发APP -> 我的 -> 分享得积分 -> 邀请
无法生成海报。
在出华为机型上正常生成海报
预期结果:
期望在华为手机上,也能正常生成海报
期望在华为手机上,也能正常生成海报
实际结果:
未解决
未解决
bug描述:
在开发分享APP海报的时候,使用uni.canvasToTempFilePath报错,报:
"errMsg": "canvasToTempFilePath:fail SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported."
自行排查问题为:
APP,此情况只在华为手机上无效,其他型号手机正常;
小程序,在华为、其他机型上也正常。
11 个回复
南安
我也出现了这个问题,只有华为的手机在app端有这个问题,提示:canvasToTempFilePath:fail SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.希望官方重视一下
1***@qq.com - 小菜鸟
我也发现了在荣耀上也不行 无法剪裁图片
chenli
hx2.9.9已修复这个问题,可使用hx2.9.11看看。
m***@163.com
没有修复,我用2.9.11也还是报错~
2020-12-14 10:28
chenli
回复 m***@163.com: 那提供个可复现简单示例工程,方便他人运行排查复现。
2020-12-14 10:34
风云杭州
我这边也遇到同样问题。。也是华为手机。。。
风云杭州
这个bug确认了吗
4***@qq.com - block
存在+1
风云杭州
这么多人遇到同样问题,没有官方的人出来确认下吗?
风云杭州
再顶下,希望官方重视下这个问题哈。。影响有点大的。。
风云杭州
某些苹果机型也有这个问题
6***@qq.com (作者)
问题已解决,使用最新Hbuilderx alpha版本就是就可以了
风云杭州
hb的 最新正式版也解决了吗?
2021-01-09 21:24
风云杭州
最新的 hb3.0.5 版本解决这个问题了吗?
6***@qq.com (作者)
那之后一直用alpha版本,正式版本没用过,不是很清楚。尝试一下就知道了
2021-02-03 14:21
风云杭州
回复 6***@qq.com: 应该是解决了。。因为新版版发布后,并没有用户再反馈这个问题了
2021-02-03 23:59