最近在做一个二维码的小工具,生成的二维码,相册选中二维码识别经常出现 {“code”: 8, “message”: “”}的情况,查找了很多资料都说是二维码图片过大,需要压缩,又不给出解决的方法示例,下面是解决示例:

1、打开相册后执行的操作

			// 打开相册
			openImage(){
				let that=this;
				// 调用手机相机和获取相册功能
				uni.chooseImage({
				  count: 1,
				  sizeType: ['original', 'compressed'],// original 原图,compressed 压缩图,默认二者都有
				  sourceType: ['album'], //这要注意,camera是拍照,album是打开手机相册
				  success: (res)=> {
				
					//官方压缩   不压缩识别报 "code": 8的错误
					plus.zip.compressImage({
					//plus.zip.compressImg 官方Api地址 (http://www.html5plus.org/doc/zh_cn/zip.html)
						src:res.tempFilePaths[0],     		//你要压缩的图片路径
						dst:'_doc/a'+res.tempFilePaths[0], //你要生成的图片路径,路径不能与src相同,不然app端会报错  
						quality: 70, //压缩比例  图片质量[10-100]
						overwrite: true,
						width: '256px' //图片宽度
					},function(e) {
						//调用原生的二维码识别方法
						plus.barcode.scan(e.target, function(type, result) {
							that.textareaVal=result;
							uni.showToast({
								title: '识别成功',
								icon:'none',
								duration: 2000
							});
						}, function(e) {
							uni.showToast({
								title: '识别失败',
								icon:'none',
								duration: 2000
							});
						});
					},function(error) {
						uni.showToast({
							title: '识别失败',
							icon:'none',
							duration: 2000
						});
					})

				  }
				})				
			},
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐