uni-app APP摄像头扫描二维码成功 但从相册选择扫描二维码出现“识别失败”

uni-app APP摄像头扫描二维码成功 但从相册选择扫描二维码出现“识别失败”

开发环境 版本号 项目创建方式
Windows 7 HBuilderX

示例代码:

uni.scanCode({
scanType: ['qrCode'],
success: function (res) {
if (res.result) {  
}  
}  
});

操作步骤:

  • APP相册扫描二维码

预期结果:

  • APP相册扫描二维码能够执行相关操作

实际结果:

  • 出现扫描失败

bug描述:

遇到问题为: 打包APP扫描二维码没有问题,但是从相册扫描会出现扫描失败。

请帮忙解答一下,谢谢

QQ 530644567


更多关于uni-app APP摄像头扫描二维码成功 但从相册选择扫描二维码出现“识别失败”的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

使用 hello-uniapp 测试不会,什么二维码?可以私发给我吗?不填写 scanType 会不会有这种情况?

更多关于uni-app APP摄像头扫描二维码成功 但从相册选择扫描二维码出现“识别失败”的实战教程也可以访问 https://www.itying.com/category-93-b0.html


从相册扫描二维码失败,通常是由于图片格式、权限或路径问题导致的。以下是几个排查方向:

  1. 检查图片格式
    确保相册中的二维码图片为常见格式(如PNG、JPG),且清晰度足够。模糊或畸变的图片可能导致识别失败。

  2. 确认权限配置
    manifest.json 中,检查是否已添加相册读取权限(Android 需 READ_EXTERNAL_STORAGE,iOS 需 Photo Library 描述)。打包时需勾选相应权限。

  3. 使用完整路径
    从相册选择图片后,需将临时路径转换为本地路径再识别。示例:

    uni.chooseImage({
      success: (res) => {
        const tempPath = res.tempFilePaths[0];
        // 转换路径(如需要)
        uni.getFileSystemManager().readFile({
          filePath: tempPath,
          encoding: 'base64',
          success: (fileRes) => {
            // 可尝试将 base64 或文件路径传入扫码接口
            uni.scanCode({
              scanType: ['qrCode'],
              path: tempPath, // 部分版本支持 path 参数
              success: (scanRes) => {
                console.log(scanRes.result);
              }
            });
          }
        });
      }
    });
回到顶部