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

开发 后端
本文介绍了几行代码就可以轻松带你实现Java生成二维码功能,一起来看看吧。

 文章目录

  • 效果图
  • 步骤
    • 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  

 

责任编辑:庞桂玉 来源: Java知音
相关推荐

2024-06-26 08:46:45

2023-11-17 09:07:51

.NET生成二维码识别二维码

2023-11-17 15:44:06

C++库生成二维码

2015-09-24 09:56:19

.NET二维码

2013-01-30 12:16:49

二维码NFC近场通讯

2013-10-29 09:46:05

二维码

2013-03-27 16:13:17

Android开发Android二维码生QR生成

2023-10-31 08:16:16

Go语言二维码

2023-08-08 14:16:07

二维码开发鸿蒙

2020-08-07 14:18:03

二维码Go语言编程

2014-12-31 15:37:16

二维码生成扫描

2021-02-08 08:40:00

Zint二维码开源

2017-02-21 09:17:46

二维码漏洞

2022-03-31 07:31:45

工具二维码Java

2024-08-16 08:38:48

2011-12-06 16:40:45

二维码快拍二维码灵动快拍

2015-11-09 13:03:47

JavaServlet创建二维码

2017-11-21 09:00:15

PHP二维码LOGO图像

2023-12-25 14:53:36

2012-04-01 09:53:13

二维码
点赞
收藏

51CTO技术栈公众号