生成验证码

时间:2019-11-25 16:27:33   收藏:0   阅读:71
@RestController
@Api(value = "公共接口",description = "公共接口")
public class CommonController {

private static Logger logger = LogManager.getLogger(CommonController.class);

/**
* 生成验证码
* @param request
* @param response
*/
@ApiOperation(value = "生成验证码")
@GetMapping("/captcha")
public void generateImg(HttpServletRequest request,HttpServletResponse response) {
// 设置相应类型,告诉浏览器输出的内容为图片
response.setContentType("image/jpeg");
// 不缓存此内容
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expire", 0);
try {
StringBuffer code = new StringBuffer();
BufferedImage image = CaptchaUtil.getInstance().genRandomCodeImage(code);
request.getSession().removeAttribute(ConstParams.KEY_CAPTCHA);
request.getSession().setAttribute(ConstParams.KEY_CAPTCHA, code.toString().toLowerCase());
// 将内存中的图片通过流动形式输出到客户端
ImageIO.write(image, "JPEG", response.getOutputStream());
logger.info("生成验证码:"+code.toString()+" session:"+request.getSession().getId());
} catch (Exception e) {
logger.error("生成验证码失败",e);
}
}
}

原文:https://www.cnblogs.com/pxzbky/p/11928394.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!