真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java實現(xiàn)電腦端掃描二維碼

本文實例為大家分享了java實現(xiàn)電腦端掃描二維碼的具體代碼,供大家參考,具體內(nèi)容如下

創(chuàng)新互聯(lián)是一家以網(wǎng)絡(luò)技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護、網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站備案、服務(wù)器租用、域名與空間、軟件開發(fā)、成都微信小程序等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務(wù),是一家有著豐富的互聯(lián)網(wǎng)運營推廣經(jīng)驗的科技公司,有著多年的網(wǎng)站建站經(jīng)驗,致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開一個面向全國乃至全球的業(yè)務(wù)窗口:建站聯(lián)系電話:18982081108

說明:js調(diào)去電腦攝像頭拍照,然后獲取圖片base64位編碼,再將base64為編碼轉(zhuǎn)為bolb,通過定時異步上傳到后臺,在后臺對圖片文件進行解碼,返回解碼結(jié)果到頁面,然后頁面重新加載結(jié)果(url)

第一種方式引入js


第二種方式引入js




后臺java代碼maven引入jar包

 
   com.github.binarywang
   qrcode-utils
   1.1
 
 
 
   com.google.zxing
   core
   3.3.3
 

后臺代碼處理方式:

public class EwmDescode {
 
 /**
  * 解析二維碼
  * 
  * @param input
  *      二維碼輸入流
  */
 public static final String parse(InputStream input) throws Exception {
   Reader reader = null;
   BufferedImage image;
   try {
     image = ImageIO.read(input);
     if (image == null) {
       throw new Exception("cannot read image from inputstream.");
     }
     final LuminanceSource source = new BufferedImageLuminanceSource(image);
     final BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
     final Map hints = new HashMap();
     hints.put(DecodeHintType.CHARACTER_SET, "utf-8");
     // 解碼設(shè)置編碼方式為:utf-8,
     reader = new MultiFormatReader();
     return reader.decode(bitmap, hints).getText();
   } catch (IOException e) {
     e.printStackTrace();
     throw new Exception("parse QR code error: ", e);
   } catch (ReaderException e) {
     e.printStackTrace();
     throw new Exception("parse QR code error: ", e);
     }
   }
 
   /**
  * 解析二維碼
  * 
  * @param url
  *      二維碼url
  */
 public static final String parse(URL url) throws Exception {
   InputStream in = null;
   try {
     in = url.openStream();
     return parse(in);
   } catch (IOException e) {
     e.printStackTrace();
     throw new Exception("parse QR code error: ", e);
     } finally {
       IOUtils.closeQuietly(in);
     }
   }
 
   /**
  * 解析二維碼
  * 
  * @param file
  *      二維碼圖片文件
  */
 public static final String parse(File file) throws Exception {
   InputStream in = null;
   try {
     in = new BufferedInputStream(new FileInputStream(file));
     return parse(in);
   } catch (FileNotFoundException e) {
     e.printStackTrace();
     throw new Exception("parse QR code error: ", e);
     } finally {
       IOUtils.closeQuietly(in);
     }
   }
 
   /**
  * 解析二維碼
  * 
  * @param filePath
  *      二維碼圖片文件路徑
  */
 public static final String parse(String filePath) throws Exception {
   InputStream in = null;
   try {
     in = new BufferedInputStream(new FileInputStream(filePath));
     return parse(in);
   } catch (FileNotFoundException e) {
     e.printStackTrace();
     throw new Exception("parse QR code error: ", e);
   } finally {
     IOUtils.closeQuietly(in);
   }
 }
 
}
@RequestMapping("/decodeEwm")
 @ResponseBody
 public String decodeEwm(MultipartFile ewmImg){
 String parse = null;
 try {
  parse = EwmDescode.parse(ewmImg.getInputStream());
 } catch (Exception e) {
  //e.printStackTrace();
 }
 
 String msg = "no";
 if(StringUtils.isNotBlank(parse)){
  return parse;
 }
 return msg;
 }

前臺jsp代碼:

第一種處理方式:

<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
  + path + "/resources/";
 String urlPath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
  + path + "/";
 request.setAttribute("path", path);
 request.setAttribute("basePath", basePath);
 request.setAttribute("urlPath", urlPath);
%>


  
    
    
    webcam
    
 
    
    
 
    
    
 
  
 
  
 
    

第二種處理方式:

<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
  + path + "/resources/";
 String urlPath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
  + path + "/";
 request.setAttribute("path", path);
 request.setAttribute("basePath", basePath);
 request.setAttribute("urlPath", urlPath);
%>



QRCODE





 

 
 

 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。 


文章標題:java實現(xiàn)電腦端掃描二維碼
標題來源:http://weahome.cn/article/pescge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部