s***@163.com
s***@163.com
  • 发布:2016-05-03 20:29
  • 更新:2019-10-23 10:47
  • 阅读:8323

【报Bug】从相册中选择二维码,手机拍摄的二维码照片都无法识别

分类:HTML5+

详细问题描述
[内容]
从相册中选择二维码,手机拍摄的二维码照片都无法识别

重现步骤
[步骤]
拍摄一张二维码照片,打开官方html5+demo app中,BarCode功能,选择“扫一扫”,选择“从相册中选择二维码”,选择二维码照片后,提示“无法识别此图片”。该照片在微信、appcan、apicloud中均能识别。
[结果]
提示“无法识别此图片”
[期望]
该照片在微信、appcan、apicloud中均能识别。期待官方立即解决此Bug。
运行环境
[系统版本]
andriod5.1
[浏览器版本]
[IDE版本]
最新
[mui版本]
最新
附件
[代码片段]
详见官方html5+ demo
[安装包]
详见官方html5+ demo

联系方式
[QQ]

2016-05-03 20:29 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com - vue开发移动app

同问,求解

p***@sina.com

p***@sina.com

是啊,很奇怪,有时候ios也会,同一个二维码,如果移动二维码位置,有时候又可以扫描到

1***@qq.com

1***@qq.com

同问,求解

zerolelouch

zerolelouch

同问,求解

  • 1***@qq.com

    可以试试 https://blog.csdn.net/qq_37212970/article/details/94553142

    2019-07-15 09:37

崇子77

崇子77

本人测试目测是图片过大导致无法识别,经过压缩处理后扫描成功,经过尝试,450k以下基本可以成功,附上代码如下
// 从相册选择二维码
chooseImgFromLocal () {
const vm = this
uni.chooseImage({
count: 1,
sizeType: ['compressed'],
sourceType: ['album'],
success (obj) {
const fileObj = obj.tempFiles[0]
vm.doCompress(fileObj.path).then(src => {
plus.barcode.scan(src, vm.scanSuccess, vm.scanError, [plus.barcode.QR])
}).catch(e => {
vm.scanError(e)
})
}
})
},
// 对图片进行压缩
doCompress (path) {
const vm = this
return new Promise((resolve, reject) => {
const compressFunc = (quality, width) => {
if (quality < 0) {
reject(new Error('压缩失败'))
return
}
plus.zip.compressImage({
src: path,
dst: '_doc/temp.png',
overwrite: true,
format: 'png',
quality: quality 100,
width: width
},
function (obj) {
// 图片大小限制在450k
if (obj.size > 450
1024) {
compressFunc(quality - 0.1, width - 50)
} else {
resolve(obj.target)
}
},
function (err) {
reject(new Error('压缩失败'))
})
}
compressFunc(0.8, 400)
})
}

7***@qq.com

7***@qq.com - mvp

我也遇到了,不知道各位有没有解决了,可以帮忙解答一下吗

  • 崇子77

    我上面给了方案呀~

    2020-01-21 16:53

6***@qq.com

6***@qq.com

同问,求解呀,,急

  • 崇子77

    我上面给了方案呀~

    2020-01-21 16:53

该问题目前已经被锁定, 无法添加新回复