vivo手机调用wx.canvasToTempFilePathAPI闪退
发布于 6 年前 作者 ichang 4439 次浏览 来自 问答

苹果,大部分安卓都可以,目前就VIVO手机一调用此API就闪退,

1、首先排除不是canvas宽高过大

2、排除手机微信版本问题和基础库版本问题

3、排除canvas不存在问题

从这开始贴码吧

ctx.draw(false, function () {

console.log(“第8步获取canvas图片”)

setTimeout(function(){

wx.canvasToTempFilePath({

canvasId: ‘firstCanvas’,

success: (resss) => {

console.log(“第9步生成图片成功”)

console.log(resss)

// 出现提示上传中的提示

wx.hideLoading();

wx.showLoading({

title: ‘上传中’,

})

// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片  

qiniuUploader.upload(resss.tempFilePath, res => {

//console.log(res)

_this.setData({

//注意这中间有个"/"在

tempFilePaths: _this.data.qiniuInfo.uploadUrl + “/” + res.key

})

// 图片上传成功后加载提示消失

wx.hideLoading();

_this.setData({ imgurl: _this.data.tempFilePaths })

// 放入数组,循环出缩略图

let arr = _this.data.imgArr;

arr.push(_this.data.tempFilePaths)

_this.setData({ imgArr: arr });

}, (error) => {

console.log(‘error’ + JSON.stringify(error))

}, {

region: ‘ECN’, //ECN, SCN, NCN, NA, ASG

//这里是你所在大区的地址

uploadURL: _this.data.qiniuInfo.uploadUrl,

domain: _this.data.qiniuInfo.doman,

//后端生成的文件key

key: _this.data.qiniuInfo.uniqueKey,

//这里的uptoken是后端返回来的

uptoken: _this.data.qiniuInfo.token,

})

},

fail: (e) => {

console.log(e);

wx.showToast({

title: e.errMsg,

duration:2000,

icon:“none”

})

}

})

}, 500)

})

2 回复

再排查下是不是内存不足导致的闪退https://developers.weixin.qq.com/miniprogram/dev/api/device/performance/wx.onMemoryWarning.html,如果排除了内存紧张问题,麻烦提供出现问题的具体机型,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

求官方和大佬帮忙看看

回到顶部