java代碼:圖片流的產生
BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
String vCode = drawGraphic(image);
vCode = encrypt(vCode);
Cookie cookie = new Cookie(randomCodeKey, vCode);
cookie.setMaxAge(-1);
cookie.setPath("/");
response.addCookie(cookie);
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg"); //這句話是必須的,不能缺少
ServletOutputStream sos = null;
try {
sos = response.getOutputStream();
ImageIO.write(image, "jpeg",sos);
} catch (Exception e) {
throw new RuntimeException(e);
}
finally {
try {sos.close();} catch (IOException e) {e.printStackTrace();}
}
js的裡面寫的action的路勁,隨即數不能缺少,因為不同的瀏覽器對action的請求次數不一樣:
function changeImg(){
$("#image").attr("src",'/img?s='+Math.random());
}
html代碼:
<img alt="" id="image" name="image" src="img" onclick="changeImg();" style="cursor: pointer; position: relative;" border="0" />
<a href="#" onclick="changeImg();">換一個</a>