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创建二维码的资料请关注脚本之家其它相关文章!

相关文章

  • RocketMQ中的消费者启动流程解读

    RocketMQ中的消费者启动流程解读

    这篇文章主要介绍了RocketMQ中的消费者启动流程解读,RocketMQ是一款高性能、高可靠性的分布式消息中间件,消费者是RocketMQ中的重要组成部分,消费者负责从消息队列中获取消息并进行处理,需要的朋友可以参考下
    2023-10-10
  • springBoot热部署、请求转发与重定向步骤详解

    springBoot热部署、请求转发与重定向步骤详解

    这篇文章主要介绍了springBoot热部署、请求转发与重定向,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • java中Scanner类的简单用法分享

    java中Scanner类的简单用法分享

    这篇文章主要介绍了java中Scanner类的简单用法,有需要的朋友可以参考一下
    2014-01-01
  • Java 文件上传的实例详解

    Java 文件上传的实例详解

    这篇文章主要介绍了Java 文件上传的实例详解的相关资料,希望通过本文大家能掌握这部分内容,使用几种文件上传的方法,需要的朋友可以参考下
    2017-09-09
  • springboot配置文件属性变量引用方式${}和@@用法及区别说明

    springboot配置文件属性变量引用方式${}和@@用法及区别说明

    这篇文章主要介绍了springboot配置文件属性变量引用方式${}和@@用法及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • jmeter添加自定义扩展函数之图片base64编码示例详解

    jmeter添加自定义扩展函数之图片base64编码示例详解

    这篇文章主要介绍了jmeter添加自定义扩展函数之图片base64编码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • 使用Java进行验证邮箱是否有用

    使用Java进行验证邮箱是否有用

    在现代互联网应用中,邮箱验证是一个常见的需求,本文将详细介绍如何使用Java实现邮箱验证功能,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-01-01
  • MybatisPlus结合groupby实现分组和sum求和的步骤

    MybatisPlus结合groupby实现分组和sum求和的步骤

    这篇文章主要介绍了MybatisPlus结合groupby实现分组和sum求和的步骤,这次使用的是LambdaQueryWrapper,使用QueryWrapper相对来说简单点就不写了,本文分步骤给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2023-12-12
  • 如何使用JAVA实现数字水印

    如何使用JAVA实现数字水印

    本文介绍了如何使用JAVA实现数字水印,主要用到了java.awt包中的AlphaComposite类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-07-07
  • Java语言描述MD5加密工具类实例代码

    Java语言描述MD5加密工具类实例代码

    这篇文章主要介绍了Java语言描述MD5加密工具类实例代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论