SpringCloud 生成二维码技术
文章目录
- SpringCloud 生成二维码技术
- 1)引入依赖
- 2)编写生成二维码方法
- 3)测试方法
SpringCloud 生成二维码技术
ZXing是一个开源的,用Java编写的多格式的1D / 2D条码图像处理库,使用ZXing可以生成、识别QR Code(二维 码)。常用的二维码处理库还有zbar,近几年已经不再更新代码,下边介绍ZXing生成二维码的方法。
1)引入依赖
引入依赖 程pom.xml中添加依赖
<!-- 二维码生成&识别组件 -->
<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version>
</dependency>
<dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.3</version>
</dependency>
2)编写生成二维码方法
编写生成二维码方法:
/*** 生成二维码* @param content 二维码对应的URL* @param width 二维码图片宽度* @param height 二维码图片高度* @return*/
public String createQRCode(String content, int width, int height) throws IOException {String resultImage = "";//除了尺寸,传入内容不能为空if (!StringUtils.isEmpty(content)) {ServletOutputStream stream = null;ByteArrayOutputStream os = new ByteArrayOutputStream();//二维码参数@SuppressWarnings("rawtypes")HashMap<EncodeHintType, Comparable> hints = new HashMap<>();//指定字符编码为“utf-8”hints.put(EncodeHintType.CHARACTER_SET, "utf-8");//L M Q H四个纠错等级从低到高,指定二维码的纠错等级为M//纠错级别越高,可以修正的错误就越多,需要的纠错码的数量也变多,相应的二维吗可储存的数据就会减少hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);//设置图片的边距hints.put(EncodeHintType.MARGIN, 1);try {//zxing生成二维码核心类QRCodeWriter writer = new QRCodeWriter();//把输入文本按照指定规则转成二维吗BitMatrix bitMatrix = writer.encode(content, BarcodeFormat.QR_CODE, width, height, hints);//生成二维码图片流BufferedImage bufferedImage = MatrixToImageWriter.toBufferedImage(bitMatrix);//输出流ImageIO.write(bufferedImage, "png", os);/*** 原生转码前面没有 data:image/png;base64 这些字段,返回给前端是无法被解析,所以加上前缀*/resultImage = new String("data:image/png;base64," + EncryptUtil.encodeBase64(os.toByteArray()));return resultImage;} catch (Exception e) {e.printStackTrace();throw new BusinessException(CommonErrorCode.E_200007);} finally {if (stream != null) {stream.flush();stream.close();}}}return null;
}
3)测试方法
测试根据内容生成二维码方法,在QRCodeUtil中添加main方法如下:
public static void main(String[] args) throws IOException {QRCodeUtil qrCodeUtil = new QRCodeUtil();String qrCode = qrCodeUtil.createQRCode("https://yangyongli.blog.csdn.net/", 200, 200);System.out.println(qrCode);
}
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAABYUlEQVR42u2YTY7DIAyFnRXH4KaE3JRjsArj90yTNtJsRiPxFrWqlPJtHP+7Nn4T+5I/km4u22hm+RijplFxkTVIdhX97vBDz/70My41SKW+p+WaWvFzt02LNDfqHm8gR2hRcC0Smnr0nYzBRxwsJcySiEF+HvmzkrzEHV7MwuGfdWcd6flMbevG/MC5JCHirsYvQGh9RLpIEOjrHt69MCfUZq8xloYE8S5hNGSoDKOib0iQt8yA7h2drViWIP6d2s6qbJT9yp/1ZERhdidvkcf0uQah/eLZowQyaSSI9396ONG0HRY9lUgk8QbrmqVZXdaTPg3pmsYgUNByNUjYj7NJZbq4q1UIWwS0RjyOe0hRICEoeLAoOBNagswth12i301Dg9xTZ6XK8QYipL72QqYLR86POX414ZwSjkfXTUOIcKseMxIfu9lKcm3Vl+7vkbiUzC0ntmpOTzLk+3/V/5IfFMYD61zrLUAAAAAASUVORK5CYII=
使用手机扫描二维码,即可自动打开我的博客首页
SpringCloud 生成二维码技术相关推荐
- java生成二维码技术实现
一.maven依赖 下载google的二维码工具包来进行二维码的生成,下面是jar包的maven下载 <dependency><groupId>com.google.zxing ...
- iOS 生成二维码/条形码
级别:★★☆☆☆ 标签:「iOS CIFilter」「CIQRCodeGenerator」「CICode128BarcodeGenerator」「二维码加logo」 作者: Xs·H 审校: QiSh ...
- Zxing生成二维码思路和源码解析
Zxing生成二维码思路和源码解析 本博文是一篇介绍google zxing包生成二维码的思路和它的源码的文章. 一.引入 如何调用zxing的代码生成一个二维码呢?主要的函数只有一个,如下所示: B ...
- vue 2.x项目 vue-qriously 生成二维码并下载、cliploard复制粘贴
近日,重构项目某一老模块时,有一个功能是生成二维码并下载,还可以复制链接.列表每项都有二维码.下载二维码和复制链接和列表上方总的二维码. 老模块是用的qrocode中文文档,qrcode github ...
- (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...
- 2022年了我才发现Chrome原来可以直接生成二维码...
前沿技术早知道,弯道超车有希望 积累超车资本,从关注DD开始 有时候要为某个网页生成二维码,我经常是去百度搜索:二维码生成器.然后下面选择一个看得上眼的去使用,比如我比较常用的是:草料二维码生成器.注 ...
- 微信小程序之生成二维码
首先先扯一些题外话,本人是java行业的小白,因为是改行做的java,之前的工作就不提了. 之前写过几篇随便,刚看了下,觉得比较low,就都删了,所以也算是进入java行业的第一篇随笔,如果有表述上或 ...
- java生成二维码/java解析二维码
二维码的优缺点 优点:1. 高密度编码,信息容量大:2.编码范围广:3.容错能力强:4.译码可靠性高:5.可引入加密措施:6.成本低,易制作,持久耐用. 缺点:1.二维码技术成为手机病毒.钓鱼网站传播 ...
- 用ABAP 生成二维码 QR Code
除了使用我的这篇blogStep by step to create QRCode in ABAP Webdynpro提到的使用ABAP webdynpro生成二维码之外,也可以通过使用二维码在线生成 ...
最新文章
- python-数据类型之列表
- C语言字符串做函数参数
- Nginx的几个常用配置和技巧
- 【HTTP 2】简介(Introduction)
- oppo售后解锁恢复工具.zip_OPPO手机4个不为人知的小技巧,全知道的竟然不到1%,令人唏嘘...
- 《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.2.2 内存...
- 使用Eclipse创建一个Android程序方法
- (王道408考研操作系统)第四章文件管理-第二节2:磁盘调度算法
- Asp.Net大型项目实践系列导航 [以后要仔细看的,支持作者 转]
- MapReduce源码刨析
- 多级队列调度算法可视化界面_多级反馈队列调度算法
- 基于bootstrap,个人简历网页模板,响应式布局
- java软件工程师 英文简历_java工程师英文简历范文
- 企鹅杏仁集团完成2.5亿美元融资,投后估值超过10亿美元...
- android 课程大纲,Android课程大纲解读.doc
- 开发人员为什么要选择APL(抽象编程语言)平台?
- 基于Jetson NX的模型部署
- python数据结构与算法练习-Printer Queue
- LG OnScreen Control 软件提示‘镜像显示器‘ BUG
- springboot日结工管理小程序毕业设计-附源码070940