首页 > 其他分享 >springboot实现链接生成QrCode

springboot实现链接生成QrCode

时间:2023-07-27 18:02:04浏览次数:32  
标签:google springboot zxing QR IOException QrCode import com 链接

1.注入依赖

<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.3.0</version>
</dependency>
<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>javase</artifactId>
    <version>3.3.0</version>
</dependency>

2.创建类,尺寸可以自己调节

package com.open.openbank.qrCode;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;

public class CreateQrCode {
	private static final String QR_CODE_IMAGE_PATH = "C:/Users/Administrator/Pictures/MyQRCode.png";

    public static void generateQRCodeImage(String text, int width, int height, String filePath) throws WriterException, IOException {
        QRCodeWriter qrCodeWriter = new QRCodeWriter();

        BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);

        Path path = FileSystems.getDefault().getPath(filePath);

        MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);

    }

    public static void main(String[] args) {
        try {
            generateQRCodeImage("https://blog.51cto.com", 350, 350, QR_CODE_IMAGE_PATH);
        } catch (WriterException e) {
            System.out.println("Could not generate QR Code, WriterException :: " + e.getMessage());
        } catch (IOException e) {
            System.out.println("Could not generate QR Code, IOException :: " + e.getMessage());
        }

    }

}

程序生成QrCode,应该用在业务逻辑中,避免用户扫码出现恶意广告

标签:google,springboot,zxing,QR,IOException,QrCode,import,com,链接
From: https://blog.51cto.com/u_16177403/6870407

相关文章

  • 使用Docker安装Apollo并使用SpringBoot连接配置中心
    上篇文章我们学习了Apollo的本地安装,如果还不会本地安装的朋友可以查看之前的文章进行了解和学习链接地址(https://www.cnblogs.com/eternality/p/17583023.html),本篇我们学习怎么使用Docker安装Apollo及如何使用Java连接Apollo。阅读本篇文章需要了解docker安装容器相关的使用命令,......
  • 操作系统之动态链接库
    操作系统之动态链接库静态库静态库也称为归档文件,它是UNIX系统提供的第一种库。静态库带来以下好处:可以将一组经常被用到的目标文件组织进单个库文件,这样可以使用它来构建多个可执行程序的时候无需重新编译原来的源代码文件。链接命令变得更简单了,在链接命令行中只需指定静......
  • SpringBoot 开启GZIP数据压缩
    I.gizp压缩配置1.配置SpringBoot默认是不开启gzip压缩的,需要我们手动开启,在配置文件中添加两行server:compression:enabled:truemime-types:application/json,application/xml,text/html,text/plain,text/css,application/x-javascript注意下上面配置中......
  • Outlook创建约会/Skype会议时自动包含Teams会议链接
    故障现象用户通过Outlook客户端创建约会/Skype会议时,在会议邀请的最下方会自动带上一个Teams会议的链接。故障原因在Outlook选项中可以看到,是由于Addonlinemeetingtoallmeeting被自动勾选导致。该选项受如下注册表控制:Path:HKEY_CURRENT_USER\Software\Microsoft\Office\Outlo......
  • 仿奈雪の茶小程序,奶茶小程序模板源码(附全套源码下载链接)
    分享一个仿奈雪の茶小程序,奶茶小程序模板源码(兼容H5版本全网首发)完美复刻奈雪の茶小程序,可稍加修改使用。代码结构如下本项目包含:首页点餐(自取和外卖两种方式,有基本的点餐逻辑处理)取餐我的积分商城积分商城详情页积分签到会员码我的卡券收货地址我的资料我的订......
  • SpringBoot中定时任务开启多线程避免多任务堵塞
    场景SpringBoot中定时任务与异步定时任务的实现:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/117083609使用SpringBoot原生方式实现定时任务,已经开启多线程支持,以上是方式之一。除此之外还可通过如下方式。为什么SpringBoot定时任务是单线程的?查看注解@Ena......
  • SpringBoot+Prometheus+Grafana实现系统可视化监控
    场景SpringBoot中集成Actuator实现监控系统运行状态:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124272494基于以上Actuator实现系统监控,还可采用如下方案。PrometheusPrometheus,是一个开源的系统监控和告警的工具包,其采用Pull方式采集时间序列的度量数据(也......
  • 我开源了团队内部基于SpringBoot Web快速开发的API脚手架v1.6.0更新
    什么是rest-api-spring-boot-starterrest-api-spring-boot-starter适用于SpringBootWebAPI快速构建让开发人员快速构建统一规范的业务RestFullAPI不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。动机每次WebAPI常用功能都需要重新写一遍。或者复制之前的项目代码......
  • springboot 解决高并发下的商品少卖多卖的问题
    1.商品秒杀-超卖在开发中,对于下面的代码,可能很熟悉:在Service里面加上@Transactional事务注解和Lock锁。控制层:Controller@ApiOperation(value="秒杀实现方式——Lock加锁")@PostMapping("/start/lock")public Result startLock(long skgId){    try {        ......
  • springboot整合junit
       ......