SpringBoot使用hutool生成图片二维码
在很多网站尤其是登录的时候,我们经常可以看到需要我们输入图片二维码,那图片二维码是如何生成的呢?点击图片我们是如何刷新二维码的呢?话不多说,直接开干
一、首先理解浏览器/服务器之间的通讯流程
二、导入依赖
创建一个基本的SpringBoot项目、然后导入hutool工具类依赖
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-captcha</artifactId><version>5.8.5</version>
</dependency>
当然hutool还有很多很好用的功能,具体可移步官网
三、实现
后端【Controller】
@RestController
@RequestMapping("/test")
public class TestController {@GetMapping("/getUrl")public void getUrl(HttpServletResponse response) throws IOException {// 宽 高 验证码长度 圆圈数(就是验证码图片上用来干扰视线的圆圈)CircleCaptcha circleCaptcha = CaptchaUtil.createCircleCaptcha(200, 150, 4, 5);//当然也可以使用划横线的图片二维码 //CaptchaUtil.createLineCaptcha( ) 这个就根据自己的需求去定制//拿到验证码 我们可以将验证码存入 session或者redis中 这里就不演示了String code = circleCaptcha.getCode();//将图片二进制输入写入 响应体response中circleCaptcha.write(response.getOutputStream());}}
前端【index.html页面】
<!DOCTYPE html>
<img lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head><img src="/test/getUrl"></body>
</html>
四、实现 “点击图片二维码刷新 ”
在img标签上加上一个点击事件,然后刷新src,在src中我们每次都加入一个新的时间戳,这样我们每次点击都能拿到新的src连接
<!DOCTYPE html>
<img lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<img src="/test/getUrl" id="captcha" onclick="getNewCode()">
</body>
<script>const getNewCode=function () {document.getElementById("captcha").src="/test/getUrl?time="+new Date().getTime();}</script>
</html>
五、测试最终效果
六、后记
就是这么简单、恭喜你完结撒花。
生活明朗、万物可爱、人间值得、未来可期。
SpringBoot使用hutool生成图片二维码相关推荐
- Hutool生成图片二维码 输出到前端
文档地址 https://hutool.cn/docs/#/extra/%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%B7%A5%E5%85%B7-QrCodeUtil pom引入 h ...
- java通过QR生成二维码 (QRCodeUtils工具类)(HUTOOL生成二维码)
1.简述 二维码生成关键是QR,QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化 详情简介请看 2.工具类 package com.lingxu.bas ...
- php 生成图片二维码
php生成图片二维码有很多方法,下面介绍一下我写的栗子: /*** 二维码*/public function qrcode($data) {$level = 'L'; // 纠错级别:L.M.Q.H$ ...
- java生成图片二维码
import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Buff ...
- Qrious生成图片二维码
qrious是一款基于HTML5 Canvas的纯JS二维码生成插件.通过qrious.js可以快速生成各种二维码,可以控制二维码的尺寸颜色,还可以将生成的二维码进行Base64编码. qrious. ...
- Python37生成图片二维码报错:OSError: cannot write mode RGBA as JPEG
代码如下: # 先导入模块 from MyQR import myqrmyqr.run(words='https://www.baidu.com',# 扫描二维码后,显示的内容,或是跳转的链接vers ...
- Springboot整合支付宝自定义二维码支付
话不多说 上效果图 依赖第一步 <dependency><groupId>com.alipay.sdk</groupId><artifactId>ali ...
- springboot 给图片加二维码
废话不多说,直接上代码 @PostMapping("/watermarkImages")public String watermarkImages() throws Excepti ...
- hutool生成二维码
导入依赖: <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</art ...
最新文章
- 云原生时代, Kubernetes 多集群架构初探
- mysql 复制表结构到一个新表_MySQL复制表数据或表结构到新表中
- linux中进程的控制总结,Linux中的进程控制
- redis.exceptions.ResponseError: WRONGTYPE Operation against a key holding the wrong kind of value
- mysql中 s命令_Mysql-概念及常用命令
- ML.NET Cookbook:(16)什么是规范化?为什么我需要关心?
- 蓝牙耳机声音一顿一顿的_这次让世界听听我们的声音——声阔SoundcoreLiberty2Pro蓝牙耳机...
- javaScript中私有属性和方法
- python菜鸟教程100例-对菜鸟教程的Python一百例的个别改进
- Mysql表的约束设计和关联关系设计
- gecode int branch
- Markdow简单介绍
- 推荐几个学习JS的站点
- 2015年江苏对口单招计算机试卷答案,2016江苏对口单招试卷 2015年江苏对口单招计算机试卷.doc...
- 左右极限相等的matlab,如何求左右极限
- 小米手机抢购背后的摩尔定律
- Vagrant 与 VirtualBox 的保姆级安装教程
- #二维差分# [ssloj 1467] U
- 2019.10.8 \t\n艾希练习
- UNIX环境高级编程-环境配置