SpringBoot生成二维码,怎么搞?
java1234
共 2503字,需浏览 6分钟
· 2020-12-13
点击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
效果图
步骤
maven依赖
com.google.zxing
javase
3.3.0
工具类
package com.bennyrhys.mall.util;
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 QRCodeGenerator {
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("Hello World", 350, 350, "E:/JAVA/mall/src/main/resources/images/QRTest.png");
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
service
/**
* 生成二维码
* 图片可解析出访问的支付对应订单号的支付连接
* @param orderNo 订单号
* @return 返回图片地址
*/
@Override
public String qrcode(String orderNo) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
String address = ip + ":" + request.getLocalPort();
String payUrl = "http://" + address + "/pay?orderNo=" + orderNo;
try {
QRCodeGenerator.generateQRCodeImage(payUrl, 350, 350, Constant.FILE_UPLOAD_PATH + orderNo + ".png");
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String pngAddress = "http://" + address + "/images-dev/" + orderNo + ".png";
return pngAddress;
}
扩展
局域网调试
线上调试
切换ip# 指定IP(防止ip转发获取的是内网ip) file.upload.ip=127.0.0.1
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:
https://blog.csdn.net/weixin_43469680/article/details/110791319
粉丝福利:实战springboot+CAS单点登录系统视频教程免费领取
???
?长按上方微信二维码 2 秒 即可获取资料
感谢点赞支持下哈
评论
OpenUI:输入一段文字就能生成网!页!!
今天给大家介绍一个开源的 AI 网页生成工具:OpenUI!!!前言 在软件开发领域,用户界面(UI)的设计和构建确实是一个至关重要的环节。传统的 UI 开发需要设计师和开发人员紧密合作,通过反复的设计、修改和测试来达到理想的效果,这个过程往往耗时且成本较高。随着 AI 技术的发展,现在有越来越多的
前端技术江湖
0
性能爆表:SpringBoot利用ThreadPoolTaskExecutor批量插入百万级数据实测!
关注我们,设为星标,每天7:40不见不散,架构路上与您共享回复架构师获取资源大家好,我是你们的朋友架构君,一个会写代码吟诗的架构师。来源:azdebug.blog.csdn.net/article/details/103697108前言具体实现细节测试结果总结前言开发目的: 提高百万级数据
Java架构师社区
0
【Nucleic Acids Research】利用生成式深度学习模型设计蓝藻细菌的合成启动子
题目:Design of synthetic promoters for cyanobacteria with generative deep-learning model期刊:Nucleic Acids Research影响因子:19.16发表时间:2023.5.29原文作者:Euijin Seo
生信宝典
0
CVPR2024-扩散模型可解释性新探索,图像生成一致性创新高!AI视频生成新机遇?
CVPR2024-扩散模型可解释性新探索,图像生成一致性创新高!AI视频生成新机遇?1. 本文概要在本研究中,作者指出了对图像生成扩散模型的可重复性或一致性进行定量评分的重要性。本文提出了一种基于成对平均CLIP(对比语言-图像预训练)分数的语义一致性评分方法。通过将此度量应用于比较两种领先的开源图
GiantPandaCV
1
炫技Groovy!SpringBoot中的动态编程实战
来源:juejin.cn/post/7139877924676567048👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接
小哈学Java
10
SpringBoot 实现动态插拔的 AOP,就变得有趣多了
大家好,我是小富~现在有这么一个需求:就是我们日志的开与关是交给使用人员来控制的,而不是由我们开发人员固定写死的。大家都知道可以用aop来实现日志管理,但是如何动态的来实现日志管理呢?aop源码中的实现逻辑中有这么一个步骤,就是会依次扫描Advice的实现类,然后执行。我们要做的就是自定义一个adv
程序员内点事
1277
SpringBoot 中的日志是怎么工作的?(万字长文)
来源:https://juejin.cn/post/7348309454700183561👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦,&n
小哈学Java
10
【新书】生成式人工智能的潜能:通过创新的AI应用转变技术、商业和艺术
来源:专知本文为书籍介绍,建议阅读5分钟本书探索了生成式人工智能在技术领域的尖端能力和潜力。它将帮助您发现生成式人工智能如何解锁新机会并提升业务运营。揭示生成式人工智能的力量和潜力,迎接无限的未来关键...
数据派THU
0