当前位置:主页 > 查看内容

几行代码,轻松带你实现Java生成二维码功能!

发布时间:2021-08-06 00:00| 位朋友查看

简介:文章目录 效果图 步骤 maven依赖 工具类 service 扩展 局域网调试 线上调试 效果图 步骤 maven依赖 !--生成二维码-- dependency groupId com.google.zxing / groupId artifactId javase / artifactId version 3.3.0 / version / dependency 工具类 packageco……

文章目录

  • 效果图
  • 步骤
    • maven依赖
    • 工具类
    • service
  • 扩展
    • 局域网调试
    • 线上调试

效果图

步骤

maven依赖

  1. <!--生成二维码-->  
  2. <dependency>  
  3.   <groupId>com.google.zxing</groupId>  
  4.   <artifactId>javase</artifactId>  
  5.   <version>3.3.0</version>  
  6. </dependency> 

工具类

  1. package com.bennyrhys.mall.util;  
  2. import com.google.zxing.BarcodeFormat;  
  3. import com.google.zxing.WriterException;  
  4. import com.google.zxing.client.j2se.MatrixToImageWriter;  
  5. import com.google.zxing.common.BitMatrix;  
  6. import com.google.zxing.qrcode.QRCodeWriter;  
  7. import java.io.IOException;  
  8. import java.nio.file.FileSystems;  
  9. import java.nio.file.Path;  
  10. /**  
  11.  * 描述:     生成二维码工具  
  12.  */  
  13. public class QRCodeGenerator {  
  14.     public static void generateQRCodeImage(String text, int width, int height, String filePath)  
  15.             throws WriterException, IOException { 
  16.          QRCodeWriter qrCodeWriter = new QRCodeWriter();  
  17.         BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);  
  18.         Path path = FileSystems.getDefault().getPath(filePath);  
  19.         MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);  
  20.     }  
  21.     public static void main(String[] args) {  
  22.         try {  
  23.             generateQRCodeImage("Hello World", 350, 350, "E:/JAVA/mall/src/main/resources/images/QRTest.png");  
  24.         } catch (WriterException e) {  
  25.             e.printStackTrace();  
  26.         } catch (IOException e) {  
  27.             e.printStackTrace();  
  28.         }  
  29.     }  

service

  1. /**  
  2.   * 生成二维码  
  3.   * 图片可解析出访问的支付对应订单号的支付连接  
  4.   * @param orderNo 订单号  
  5.   * @return 返回图片地址  
  6.   */  
  7.  @Override  
  8.  public String qrcode(String orderNo) {  
  9.      ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();  
  10.      HttpServletRequest request = attributes.getRequest();  
  11.      String address = ip + ":" + request.getLocalPort();  
  12.      String payUrl = "http://" + address + "/pay?orderNo=" + orderNo;  
  13.      try {  
  14.          QRCodeGenerator.generateQRCodeImage(payUrl, 350, 350, Constant.FILE_UPLOAD_PATH + orderNo + ".png");  
  15.      } catch (WriterException e) {  
  16.          e.printStackTrace();  
  17.      } catch (IOException e) {  
  18.          e.printStackTrace();  
  19.      }  
  20.      String pngAddress = "http://" + address + "/images-dev/" + orderNo + ".png";  
  21.      return pngAddress;  
  22.  } 

扩展

局域网调试

线上调试

切换ip

  1. # 指定IP(防止ip转发获取的是内网ip)   
  2. file.upload.ip=127.0.0.1  
【责任编辑:庞桂玉 TEL:(010)68476606】
本文转载自网络,原文链接:https://mp.weixin.qq.com/s/3ntIAvxyg3ECiotuHXb7aA
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐