生成二维码后,点图片预览,黑屏,但是可以长按保存。求解决手机预览时黑屏问题
//获取临时缓存照片路径,存入data中
canvasToTempImage: function () {
var that = this;
wx.canvasToTempFilePath({
canvasId: 'qrcanvas',
success: function (res) {
var tempFilePath = encodeURI(res.tempFilePath);
console.log("temp, " + tempFilePath);
that.setData({
imagePath: tempFilePath,
});
},
fail: function (res) {
console.log(res);
}
});
},
//点击图片进行预览,长按保存分享图片
previewImg: function (e) {
var img = this.data.imagePath;
console.log("preview, " + img);
wx.previewImage({
current: encodeURI(img), // 当前显示图片的http链接
urls: [encodeURI(img)] // 需要预览的图片http链接列表
})
},
扫一扫选择本地相册,选择二维码图片,黑屏,无法识别,电脑端调试时可以选择图片识别出来。求解决手机扫描打开相册无法识别问题
scanCode: function(e) {
var that = this;
// 允许从相机和相册扫码
wx.scanCode({
onlyFromCamera: false,
success: function(res) {
var code_result = res.result;
console.log(code_result);
wx.showModal({
title: '二维码内容',
content: code_result,
icon: 'success',
mask: false,
showCancel: false,
success: function(s) {
if (s.confirm)
{
}
}
});
}
});
扫一扫黑屏截个图看下
encodeURI后decode
用downloadFile试试
楼主最后怎么解决的啊
楼主后面怎么解决啊
在开发者工具上确实encodeURI后会生成http的图片链接,但是在真机上没有效果不会变
好失望。。。网上的生成二维码小程序例子和我的情况一样,生成二维码图片后点击预览显示黑屏,能保存图片,扫一扫图片也显示黑屏无法识别出二维码。。。真的好失望啊,这到底怎么用,难道要把图片传到服务器生成个http地址才能预览?真机调试显示保存的临时文件是wxfile://tmp_xxxxx,为什么不能预览呢
encodeURI没用吧,去了或者是加上都一样。。。。
控制台打印的日志:
temp, http://tmp/wx71fdc77e6242739b.o6zAJs7ovcIfezx0PHqRdn-Zr9cw.436b811d920f6ef57b71543123db4c36.png
preview, http://tmp/wx71fdc77e6242739b.o6zAJs7ovcIfezx0PHqRdn-Zr9cw.436b811d920f6ef57b71543123db4c36.png
预览生成的二维码:
扫一扫选择相册里面的图片: