java创建二维码并赋予url链接的功能实现

 更新时间:2021年06月23日 15:03:12   作者:小小的码农哥  
这篇文章给大家分享java创建二维码并赋予url链接的功能实现,需要获取要赋值给二维码的链接后缀,通过设置二维码的访问路径等一系列操作,具体实现代码跟随小编一起看看吧

首先在pom文件中导入有关依赖

<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>

工具类

public class YmtUtil {
   public static byte[] getQRCodeImage(String text, int width, int height) throws 
        WriterException, IOException {
        QRCodeWriter qrCodeWriter = new QRCodeWriter();
        BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, 
        height);
        ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
        MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOutputStream);
        byte[] pngData = pngOutputStream.toByteArray();
        return pngData;
}

功能实现

此处是写在service中的代码,调用过后就可以在指定的存储位置中找到对应的二维码

//获取要赋值给二维码的链接后缀如 192.168.0.21/erweima
String url = erweima;
 
//获取本机ip地址,也可以找一指定ip地址写死
InetAddress localhost = StrUtil.getLocalHostExactAddress();
 
//设置二维码访问路径
String URL= "http://localhost"+ url;
 
//设置二维码流
qrcode = YmtUtil.getQRCodeImage(URL, 360, 360);
final HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_PNG);
 
//设置生成的二维码存储地址 linux路径:(/root/D:/opt/upFiles)  window路径(D:/opt/upFiles)此处使用的是linux路径
File path = new File("/root/D:/opt/upFiles", 二维码名称 + ".jpg");
 
//将二进制数组转为文件
ByteArrayInputStream inputStream = new ByteArrayInputStream(qrcode);
MockMultipartFile file = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);
file.transferTo(path);

以上就是java创建二维码并赋予url链接的详细内容,更多关于java创建二维码的资料请关注脚本之家其它相关文章!

相关文章

  • Java并发之Semaphore工具类r的全面解析

    Java并发之Semaphore工具类r的全面解析

    Semaphore 是 java.util.concurrent中非常有用的并发编程工具类,它通常被用于限制对某个资源或资源池的并发访问数量,下面我们就来深入了解一下Semaphore的具体使用吧
    2024-02-02
  • JAVA内存空间相关知识汇总

    JAVA内存空间相关知识汇总

    这篇文章主要介绍了JAVA内存空间相关知识,文中介绍的非常详细,代码帮助大家更好的参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 如何在Intellij中安装LeetCode刷题插件方便Java刷题

    如何在Intellij中安装LeetCode刷题插件方便Java刷题

    这篇文章主要介绍了如何在Intellij中安装LeetCode刷题插件方便Java刷题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • mybatis实现表与对象的关联关系_动力节点Java学院整理

    mybatis实现表与对象的关联关系_动力节点Java学院整理

    这篇文章主要介绍了mybatis实现表与对象的关联关系_动力节点Java学院整理,需要的朋友可以参考下
    2017-09-09
  • SpringBoot+Querydsl 框架实现复杂查询解析

    SpringBoot+Querydsl 框架实现复杂查询解析

    本篇主要将介绍的是利用spring query dsl框架实现的服务端查询解析和实现介绍,对SpringBoot Querydsl 查询操作感兴趣的朋友一起看看吧
    2022-05-05
  • Java数据结构之对象比较详解

    Java数据结构之对象比较详解

    这篇文章主要为大家详细介绍了Java中对象的比较、集合框架中PriorityQueue的比较方式以及PriorityQueue的模拟实现,感兴趣的可以了解一下
    2022-07-07
  • Java多种经典排序算法(含动态图)

    Java多种经典排序算法(含动态图)

    排序算法是老生常谈的了,但是在面试中也有会被问到,例如有时候,在考察算法能力的时候,不让你写算法,就让你描述一下,某个排序算法的思想以及时间复杂度或空间复杂度。我就遇到过,直接问快排的,所以这次我就总结梳理一下经典的十大排序算法以及它们的模板代码
    2021-04-04
  • 教你使用eclipse 搭建Swt 环境的全过程

    教你使用eclipse 搭建Swt 环境的全过程

    本文给大家分享使用eclipse 搭建Swt 环境的全过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Rxjava功能操作符的使用方法详解

    Rxjava功能操作符的使用方法详解

    这篇文章主要介绍了Rxjava功能操作符的使用方法详解,还是比较不错的,这里分享给大家,供需要的朋友参考。
    2017-11-11
  • Eclipse+Java+Swing实现学生成绩管理系统的实例代码

    Eclipse+Java+Swing实现学生成绩管理系统的实例代码

    这篇文章主要介绍了Eclipse+Java+Swing实现学生成绩管理系统,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01

最新评论