如果是 Bug:
base64的二维码数据在调试时用drawimage()可以显示出来,可是到真机上就不显示。把数据包含在image标签里可以显示出来。
是drawimage的bug吗
嗯嗯,我在论坛里找到了问题的原因,需要将base64里的空格、换行都替换掉。
base64Url = base64Url.replace(/\ +/g, “”); //去掉空格方法
base64Url = base64Url.replace(/[\r\n]/g, “”);
@赵文浩,要怎么加前缀?
res.image 是返回来的 小程序码
var code = res.image.replace(/[\r\n]/g, “”) //这是替换空格
前缀如何加?
“data:image/png;base64,” +res.image //这样吗?直接都调试工具都无法绘画出来了
@赵文浩,遇到同样的问题,用base64,在页面用image标签的src显示没有问题,用canvas将小程序码绘制上去,开发工具显示也没有问题,但是如果存到tempfile就显示不出来小程序码,你具体是怎么解决的是否能指点迷津。
@赵雅,你可以将小程序码返回的数据在你的后台base64_encoded一下 (PHP),然后再返回到小程序端,加上前缀直接就能在image标签里使用了。