问题解决掉了... https://developers.weixin.qq.com/community/develop/doc/000ec2abca002850c6b9ab5c850000?fromCreate=1
安卓端调用云函数imgSecCheck报错error code -404012?[图片] 开发者工具上和ios的都没有问题,安卓就不行,真机调试之后发现的这个问题。看了一些帖子也有这个问题的,就是没人明确说这个问题已经解决了。
2020-01-10问题解决掉了... https://developers.weixin.qq.com/community/develop/doc/000ec2abca002850c6b9ab5c850000?fromCreate=1
-404012 的调用云函数的bug修复没有?无题 --李商隐
2020-01-10问题解决掉了... https://developers.weixin.qq.com/community/develop/doc/000ec2abca002850c6b9ab5c850000?fromCreate=1
云函数安卓-404012 还是没解决 ?如题,在小米8,vivo y95,还有oppo next,下测试都会发生这个错误,没有log,100多k的图片也会发生,请问是咋回事?
2020-01-10找到解决办法了。思路主要参照下面大神的解决办法:https://developers.weixin.qq.com/community/develop/article/doc/00062c5c7a8ec834dc692913156013 用户传上来的图,一般是通过canvas的uni.canvasToTempFilePath方法存到本地,然后调用API审核,但是一般都会报404012的错误;原因个人认为是尺寸过大导致的。。。 解决办法:套用两层uni.canvasToTempFilePath方法!!! 第一层uni.canvasToTempFilePath方法,将destWidth和destHeight按用户图片的实际比例缩小,我缩小到120*180,用户相册的原图接近5M,导出后只有60多k;成功后将res.tempFilePath提交给security.imgSecCheck去审核(我试过很多遍,能正常审核);而在该方法的success下面继续嵌套uni.canvasToTempFilePath方法导出小程序真正要去使用的图片;
security.imgSecCheck接口返回-404012错误security.imgSecCheck <'errCode': -404012, 'errMsg': 'cloud.callFunction:fail error while waiting for the result; at cloud.callFunction api;> 模拟器上没有任何问题,我的小米手机体验版就是上面这个错误,一直过去不。。。网上查了下,才知道这个问题18年就有人反应过,至今都没有解决吗? 烦请大神指点解决办法。。。多谢了啊 [图片] -------------------------------------------------------- 找到解决办法了。思路主要参照下面大神的解决办法: https://developers.weixin.qq.com/community/develop/article/doc/00062c5c7a8ec834dc692913156013 用户传上来的图,一般是通过canvas的uni.canvasToTempFilePath方法存到本地,然后调用API审核,但是一般都会报404012的错误;原因个人认为是canvasToTempFilePath导出的图片尺寸过大所致。 解决办法:套用两层uni.canvasToTempFilePath方法!!! 第一层uni.canvasToTempFilePath方法,将destWidth和destHeight按用户图片的实际比例缩小,我缩小到120*180,用户相册的原图接近5M,导出后只有60多k;成功后将res.tempFilePath提交给security.imgSecCheck去审核(我试过很多遍,能正常审核);而在该方法的success下面继续嵌套uni.canvasToTempFilePath方法导出小程序真正要去使用的图片;
2020-01-10即便输出和原图宽高一致,图片的大小几乎和原图一样;调整宽高是原图的3倍,文件几乎是源文件的3倍大,可是对于清晰度来讲根本没用。最后发现图片的dpi被修改了,原图的dip是300,canvas导出的图片dpi是96。怎么可能清晰呢?不明白这个dpi修改的机制和原理?有懂得人给科普下呗。。。
canvasToTempFilePath导出图片数据失真- 复现路径: 使用getCanvasImageData获取Uint8ClampedArray数据,进行处理后使用putCanvasImageData重新绘制。重新绘制后画布的Uint8ClampedArray数据为A 使用canvasToTempFilePath导出图片,在成功回调中使用getCanvasImageData获取临时文件的数据,为B。 A与B之间的差异在模拟器下可以接受,但在真机环境下失真很严重,如下图 - 截图: 模拟器: [图片] 真机(iOS12.1.1): [图片] 不知道这个问题能不能改进,还是说运行时环境本身的问题。
2020-01-08即便输出和原图宽高一致,图片的大小几乎和原图一样,可是根本没用。因为图片的dpi被修改了,原图的dip是300,canvas导出的图片dpi是96。怎么可能清晰呢?不明白这个dpi修改的机制和原理是啥?有懂得人给科普下呗。。。
canvasToTempFilePath生成图片模糊为什么我的 canvasToTempFilePath生成的图片是模糊的啊? 有大神知道怎么生成跟手机小程序显示的页面一样的吗?
2020-01-08即便输出和原图宽高一致,图片的大小几乎和原图一样,可是根本没用。因为图片的dpi被修改了,原图的dip是300,canvas导出的图片dpi是96。怎么可能清晰呢?不明白这个dpi修改的机制和原理是啥?有懂得人给科普下呗。。。
canvastotempfilepath 生成图片模糊?上面这张图是canvas , 下面是生成出来的。下面这张图很模糊。 setTimeout(() => { this.cancelChooes(); const systemInfo = wx.getSystemInfoSync(); let pixelRatio = systemInfo.pixelRatio; console.log("设备像素比--->" + this.screenWidth); console.log("设备像素比2--->" + pixelRatio); this.draw(this.localImg).then(() => { wx.canvasToTempFilePath({ x: 0, y: 0, width: this.screenWidth, height: this.screenWidth, destWidth: this.screenWidth * pixelRatio, destHeight: this.screenWidth * pixelRatio, canvasId: "canvas", fileType: "jpg", quality: 1, success: async res => { let img = await uploadImg(res.tempFilePath); this.previewImg = img; console.log("导出图片:" + img); } }); }); wx.hideLoading(); }, 1000); [图片]
2020-01-08