昨天接到了一个需求是通过jave服务端动态生成二维码,提供给前端调用,这里就介绍一下生成的过程。
我这里是一个springboot服务,springboot服务的jar包就不贴了 这里只粘贴二维码用到的依赖。
1、pom依赖,这里只用到了两个依赖
<!--工具类组件--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.5</version><scope>compile</scope></dependency><!--生成二维码组件--><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version></dependency>
2、control代码
@ApiOperation(value = "获取二维码")@RequestMapping(value = "/getQrCode/{id}" ,method = {RequestMethod.GET ,RequestMethod.POST})public void getQrCode(@PathVariable String id, HttpServletResponse response) throws Exception {response.setDateHeader("Expires", 0);response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");response.addHeader("Cache-Control", "post-check=0, pre-check=0");response.setHeader("Pragma", "no-cache");response.setContentType("image/jpeg");// QrConfig qrConfig = QrConfig.create().setImg(FileUtil.file("logo.jpg"));// 生成指定url对应的二维码到文件,宽和高都是300像素
// QrCodeUtil.generate(url, qrConfig, "jpg", response.getOutputStream());QrCodeUtil.generate("https://blog.csdn.net/lp840312696", 300, 300, "jpg", response.getOutputStream());}
3、前端代码
<html><body><img src="http://localhost:6100/employee/getQrCode/1" ></body></html>
测试一下!