java 验证码图片不显示图片_验证码图片生成及无法显示问题的解决
IntelliJ IDEA实现网页生成验证码相关模块:
importcom.sun.image.codec.jpeg.JPEGCodec;importcom.sun.image.codec.jpeg.JPEGImageEncoder;import java.awt.*;importjava.awt.image.BufferedImage;importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.HashMap;importjava.util.Map;importjava.util.Random;public final classImageUtil {private static final char[] chars = { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘,‘7‘, ‘8‘, ‘9‘, ‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘, ‘G‘, ‘H‘, ‘I‘};private static final int SIZE = 4;private static final int LINES = 5;private static final int WIDTH = 80;private static final int HEIGHT = 40;private static final int FONT_SIZE = 30;public static MapcreateImage() {
StringBuffer sb= newStringBuffer();
BufferedImage image= newBufferedImage(WIDTH, HEIGHT,
BufferedImage.TYPE_INT_RGB);
Graphics graphic=image.getGraphics();
graphic.setColor(Color.LIGHT_GRAY);
graphic.fillRect(0, 0, WIDTH, HEIGHT);
Random ran= newRandom();for (int i = 1; i <= SIZE; i++) {int r =ran.nextInt(chars.length);
graphic.setColor(getRandomColor());
graphic.setFont(new Font(null, Font.BOLD +Font.ITALIC, FONT_SIZE));
graphic.drawString(chars[r]+ "", (i - 1) * WIDTH /SIZE,
HEIGHT/ 2);
sb.append(chars[r]);
}for (int i = 1; i <= LINES; i++) {
graphic.setColor(getRandomColor());
graphic.drawLine(ran.nextInt(WIDTH), ran.nextInt(HEIGHT),
ran.nextInt(WIDTH), ran.nextInt(HEIGHT));
}
Map map = new HashMap();
map.put(sb.toString(), image);returnmap;
}public staticColor getRandomColor() {
Random ran= newRandom();
Color color= new Color(ran.nextInt(256), ran.nextInt(256),
ran.nextInt(256));returncolor;
}public staticInputStream getInputStream(BufferedImage image)throwsIOException {
ByteArrayOutputStream bos= newByteArrayOutputStream();
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(bos);
encoder.encode(image);byte[] imageBts =bos.toByteArray();
InputStream in= newByteArrayInputStream(imageBts);returnin;
}
}
生成验证码ImageUtill类
/*** 产生登录页面验证码*/@RequestMapping("/createImage.do")public voidcreateImage(
HttpServletResponse response, HttpSession session)throwsException {
Map imageMap =ImageUtil.createImage();
String code=imageMap.keySet().iterator().next();
session.setAttribute("imageCode", code);
BufferedImage image=imageMap.get(code);
response.setContentType("image/jpeg");
OutputStream ops=response.getOutputStream();
ImageIO.write(image,"jpeg", ops);
ops.close();
}
JSP网页调用(片段,将上面的ceateImage.do放入src中):
验证码:
程序确定是无误的!
可以写成Java程序进行验证图片的生成:
但是:在网页中无法显示验证码图片。错误信息是无法写入Tomcat的temp目录,但temp目录肯定是存在的,原因是写入temp目录必须要管理员权限。
解决方法:
进入tomcat安装目录:C:\Program Files\Apache Software Foundation\Tomcat 8.5
右击temp属性:
对所有用户勾选所有权限,问题解决!!!
java 验证码图片不显示图片_验证码图片生成及无法显示问题的解决相关推荐
- java图片不失真压缩_(转)图片等比压缩,确保不失真
importjava.awt.Image;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.FileOutputS ...
- java 微信图片盗链破解_隐藏图片地址,伪造来路Referer实现绕过微信图片的防盗链机制...
最近用软件采集微信公众号文章图片下载不了,全是显示盗链图片.没有办法只好上网查询有没有办法解决.在一个朋友那看到了2种解决方案记录下: 微信防盗链 用php写一个绕过的代码,你只需要把php上传到你的 ...
- java swing 图片上加热点_外卖图片品牌全靠P,4元成本料理包加热后,平台上20元卖出...
现代人都十分的忙绿,忙着学业.工作.婚姻.家庭等等一系列的事情,因而追求便利便成理所应当的事情.外卖的出现极大的减少了迫切需要时间的现代人的吃饭的时间,因此外卖的火爆就足以预见.但是,最近有一外卖黑作 ...
- java把图片存入文件夹_将图片保存在指定文件夹中
我可以通过我的代码将图片保存在我想要的文件夹中,但这还不够好,因为我的代码在我的文件夹中提供了一个图像副本,而在图库中提供了另一个图像(DCIM) . 代码: Btngetdata.setOnClic ...
- php图片写入带问号_关于编码:PHP输出显示带有问号的黑色小菱形
我正在写一个从数据库源中提取的php程序. 某些varchar的引号显示为带有问号的黑色菱形(?,替换字符,我假设来自Microsoft Word文本). 如何使用php去除这些字符? 不要剥去它们, ...
- 微信昵称mysql图片不显示不全_带图片的微信用户名称存mysql问题总结
先直接说两种解决方法,第一种比较烦(其实也没有很烦),第二种简单 1.后台对 用户名这个字段进行 加码 存入到mysql 取出来 再解码呈现 我的项目中 是 nickName 字段进行存储微信头像数据 ...
- okhttp3图片压缩上传_支持 图片压缩、PDF压缩 合并 分割的网址、极力推荐、超奈斯...
今天给大家分享的是一个可以进行图片压缩,PDF文件编辑的好用网址. 名称:docsmall 大家有没有那种因为上传图片时体积过大,需要缩小,但找半天也找不到压缩工具的时候. 这个网址小编用了很长时间了 ...
- div图片背景虚化不影响图片上的文字_背景图片模糊,其中文字清晰实现方法总结...
先上效果图: 之前: 之后: 实现方式: 第一种:两张图片叠加,上面放一个纯白色的,下面放这张清晰的医生的图 第二种:背景图片上面,使用一层遮罩,设计背景色为纯白色,并且是有一定透明度的 背景模糊文字 ...
- java显示公式_如何让Excel中只显示公式不计算
这个是由来已久的问题,但是由于Office安装的时候是显示公式计算结果,并且自动更新的,所以当表格中出现了只显示公式,而不显示计算结果的时候,往往让人手足无措了.在最近的学员中就出现了几个这样的情况, ...
- java word文档转PDF xdocreport在centos7生成PDF不显示中文
关键字:java xdocreport centos7 PDF 中文 不显示 在我的项目中出现了问题 生产(Linux)上就是word转pdf没有汉字显示,只有字母和数字. 因为liunx系统上,没有 ...
最新文章
- 操作系统结构-简单体系结构
- mysql查询某一时间段之后数据的sql_mysql进阶(十九)SQL语句如何精准查找某一时间段的数据...
- c++类的构造函数详解
- linux c 线程同步的三种方法
- java.net.SocketException四大异常解决方案---转
- FFmpeg 中AVPacket的使用
- 1.18.3.Flink Catalog介绍、Catalog 定义、Catalog 的实现、Catalog 使用举例
- 如何使Putty会话颜色更美观
- GitHub 一周热点速览:手撕 LeetCode 一日 Star 破两千
- linux acl库编译与使用,linux的ACL-rds数据删除了可恢复吗?-WinFrom控件库|.net开源控件库|HZHControls官网...
- F2FS的sysfs调整文件系统参数
- 大数据综合实验的踩坑总结(林子雨)
- 原理图端口符号_200 一步步开始学习制作PCBamp;PCBA--绘制原理图
- LDPY Ghost Win7 64位 纯净自选版 V5.0
- Paddle 点灯人 之 Tensor
- P1010 [NOIP1998 普及组] 幂次方 题解
- 分布式下载方式(二)DHT分布式网络
- LeetCode 974. 和可被 K 整除的子数组 | Python
- 应届生多次面试失败后的内心独白
- iOS app脚手架