javax.imageio.IIOException: Can't create output stream!
解决方法:
1.ImageIO.write(image, "jpeg", response.getOutputStream());
修改为
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
encoder.encode(image);
就可以了。
2.为什么以前好的呢,后来查了下
I was experiencing the same "Can't create cache file" problem when using ImageIO.read() in a servlet context on Solaris UNIX. When running locally (using Tomcat) on a Win2K system, there were no problems. It seems that with the Win2K installation, the "temp" directory is automatically made. With the Solaris installation, the "temp" is not made! Simply adding the directory cured the caching problems.
So, if you have built the Tomcat be sure that the "temp" directory is created in the Tomcat root. Please let us know if it does not solves the problem.
added the temp directory, and gave "modify" permissions to the user that our Track+ is running as. Charts are now working fine.(添加temp文件夹到tomcat根目录就OK了)
转自:http://xujunxiong.iteye.com/blog/2228702