getNewImage() {
uni.canvasToTempFilePath({
canvasId: _this.CanvasID,
quality: 1,
success: async res => {
console.log('回调canvasToTempFilePath成功', res)
_this.result = res.tempFilePath
const curInfo = await _this.getImageInfo({ imgSrc: _this.result })
// 保存绘制的图片信息
_this.drawimgsInfo.push(curInfo.height)
_this.curImgInfo = curInfo.height
// 保存绘制的图片
_this.drawImgs.push(_this.result)
_this.drawNum++
_this.reDraw()
},
fail: (err) => {
console.log('回调canvasToTempFilePath失败', err)
uni.showToast({
title: '海报生成失败',
icon: 'none',
duration: 2000,
success: () => {
_this.$emit('success', _this.imgList)
}
})
}
})
},
- 发布:2020-11-17 15:24
- 更新:2020-12-21 11:52
- 阅读:1462
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 2.9.8
浏览器平台: 微信内置浏览器
浏览器版本: 7.0.18
项目创建方式: CLI
CLI版本号: 2.0.0
App下载地址或H5⽹址: https://crm-mobile-test.itianding.com/pages/center/index
示例代码:
操作步骤:
canvasToTempFilePath:fail SecurityError
errMsg: "canvasToTempFilePath:fail SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement':
canvasToTempFilePath:fail SecurityError
errMsg: "canvasToTempFilePath:fail SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement':
预期结果:
errMsg: "canvasToTempFilePath:ok"
errMsg: "canvasToTempFilePath:ok"
实际结果:
canvasToTempFilePath:fail SecurityError
canvasToTempFilePath:fail SecurityError
bug描述:
uniapp开发的H5的微信公众号使用uni.canvasToTempFilePath生成指定大小的图片时,前期是可以生成base64图片的,可能官方更新版本导致生产环境的canvasToTempFilePath报错
canvasToTempFilePath:fail SecurityError
```,
更新到最新cli版本,还是无效,浏览器打开报错
```javascript
errMsg: "canvasToTempFilePath:fail SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement':
```,但是微信开发工具是可以实现的
请修复此问题
HBuilderX 3.0.0+ 已修复
-
回复 DCloud_UNI_GSQ: 我android用的是localIds,ios用的是jssdk获得的base64,android也是报这个错误,ios直接没动静,hbuilderx 3.1.4
2021-05-24 20:48
1***@163.com (作者)
用这个可以解决,html2canvas-renderjs,点击最下面我回复的链接
2020-12-08 11:48