Java输入验证码在linux上不能显示的问题
做了个Java验证码程序,结果发现在Windows上运行一切正常,在Linux下却无法显示图片,在网上搜索,开始一直以为是tomcat\bin\catalina.sh的原因,但一直都不行,单独运行生成验证码的Servlet则抛出异常:
javax.imageio.IIOException: Can't create output stream!,
经查,在将图片输入到客户端时,不能使用ImageIO.write(image, "jpeg", response.getOutputStream());而应该使用如下方式:
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
encoder.encode(image);
?
原因是是ImageIO.write(image, "jpeg", response.getOutputStream());
需要写缓冲文件,但是写文件不成功。
(一)生成验证码的servlet
?
??