好多人,用java输出验证码喜欢用
<div class="iteye-blog-content-contain" style="font-size: 14px">
- import com.sun.image.codec.jpeg.JPEGCodec;
- import com.sun.image.codec.jpeg.JPEGImageEncoder;
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
- encoder.encode(image);
</div>
但是如果你用oracle 1.637 以后的jdk 1.6或者用jdk 1.7.x你会发现JPEGCodec,JPEGImageEncoder 已经无法导入了;
其实在oracle 收购sun 之后有了 import javax.imageio.ImageIO; 这个方法来替代原来的方法;不过如果直接用
ImageIO.write(image, "JPEG", response.getOutputStream());
一般情况下不会出现问题,但是有的时候你会发现会出现一个异常:
javax.imageio.IIOException: Can't create output stream!
at javax.imageio.ImageIO.write(ImageIO.java:1521)
这个问题出现的原因,是你吧tomcat (或者其他web容器)的缓存目录给删掉了,所以写图片文件的时候会发生IO读写错误,
解决的办法有:
1. ImageIO.setUseCache(true); //不使用缓存
2.[java] view plaincopy
- ImageIO.setUseCache(true);
- ImageIO.setCacheDirectory(CommonToolsUtil.checkFileDir(FileContents.CATCHPATH));
- ImageIO.write(image, "JPEG", response.getOutputStream());// 将内存中的图片通过流动形式输
自己手动指定缓存目录
3.
就是把删掉的web容器的缓存目录加上。
相关推荐
java 验证码 java 验证码 java 验证码 java 验证码
java验证码识别示例
java 验证码识别 ocr java 验证码识别 ocr
Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码JavaJava彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码
java验证码识别 JAVA知识巩固 源码 java验证码识别 java验证码识别
java实现滑动验证码
Java验证码框架.可实现多种验证很强大
70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java...
csdn上三种java验证码生成方法,以及谷歌开源验证码,总共四种验证码生成集合。将生成的四个验证图片放在一个页面上以供比对,全部可以运行。 四种方法分别为: 1. 数字、字母、汉字混合验证码,叠影(给力)、扭曲 ...
学习时使用的验证码java程序,很简单,对于初学者帮助很大。
java验证码组件Jcaptcha,希望对大家有所帮助!!!
纯Java生成验证码图片工具类。使用时直接解压,将工具类导入Java项目即可,直接调用生成验证码方法即可。
java验证码识别源码,验证码生成地址自己添加,main 函数两个方法取消注释
Java验证码生成库 JCaptcha
java实现验证码
java 验证码识别源程序 windows版本 概率90%以上
Java验证码案例,全新的Java验证码严重源码
java 验证码识别 OCR。
生成java验证码 添加水印 添加干扰线 图片压缩 设置字体
java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码java 验证码...