前端如何识别上传的二维码---jsQR

npm

npm i -d jsqr

html

<el-button @click="$refs.input.click()">识别</el-button>
<input type="file" style="display: none" id="input" @input="upload">

js

import jsQR from "jsqr";

decodeQRCode(image) {
      //创建画布
      const canvas = document.createElement('canvas');
      const context = canvas.getContext('2d');
      canvas.width = image.width;
      canvas.height = image.height;
      //把二维码画上去
      context.drawImage(image, 0, 0, canvas.width, canvas.height);
      const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
      //jsQR识别出来
      const decodedResult = jsQR(imageData.data, imageData.width, imageData.height, {
        inversionAttempts: 'dontInvert',
      });
      if (decodedResult) {
      //返回识别结果
        return decodedResult.data
      } else {
      	window.alert('未识别到二维码!'return ''
      }
    }
    
upload(){
	let input = document.querySelector('#input')
	const file = input.files[0]
	if (file) {
	      const reader = new FileReader();
	      reader.onload = (e) => {
	        const image = new Image();
	        image.src = e.target.result;
	        image.onload = () => {
	          let code = this.decodeQRCode(image);
	          console.log(code)//识别结果 
	        };
	      };
	      reader.readAsDataURL(file);
	    }
}

相关推荐

  1. 前端如何识别---jsQR

    2024-03-17 03:26:04       19 阅读
  2. vue代码中图片,并识别内容

    2024-03-17 03:26:04       37 阅读
  3. Spring Boot :从图片中读取信息

    2024-03-17 03:26:04       10 阅读
  4. 前端生成

    2024-03-17 03:26:04       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 03:26:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 03:26:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 03:26:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 03:26:04       18 阅读

热门阅读

  1. 计算机安全

    2024-03-17 03:26:04       19 阅读
  2. MySQL 中的锁机制详解

    2024-03-17 03:26:04       20 阅读
  3. transformer注意力权重系数绘图

    2024-03-17 03:26:04       20 阅读
  4. vue数据

    vue数据

    2024-03-17 03:26:04      15 阅读
  5. 以太坊的扩容方案之二层网络 L2-Rollup & zkEVM

    2024-03-17 03:26:04       18 阅读
  6. linux让前台正在执行的命令转入后台并nohup的方法

    2024-03-17 03:26:04       20 阅读
  7. 动态规划 Leetcode 96 不同的二叉搜索树

    2024-03-17 03:26:04       21 阅读
  8. CSV Excel乱码问题 和 BOM标记

    2024-03-17 03:26:04       20 阅读
  9. SpringBoot之yml与properties配置文件格式的区别

    2024-03-17 03:26:04       19 阅读
  10. gazebo_ros和ros_ign_gazebo

    2024-03-17 03:26:04       17 阅读
  11. python calendar内置日历库函数方法

    2024-03-17 03:26:04       17 阅读