diff --git a/src/main/java/com/wf/captcha/ArithmeticCaptcha.java b/src/main/java/com/wf/captcha/ArithmeticCaptcha.java index b29f851..c7043dc 100644 --- a/src/main/java/com/wf/captcha/ArithmeticCaptcha.java +++ b/src/main/java/com/wf/captcha/ArithmeticCaptcha.java @@ -50,6 +50,11 @@ public class ArithmeticCaptcha extends ArithmeticCaptchaAbstract { return toBase64("data:image/png;base64,"); } + @Override + public String getContentType() { + return "image/png"; + } + /** * 生成验证码图形 * @@ -93,4 +98,4 @@ public class ArithmeticCaptcha extends ArithmeticCaptchaAbstract { } return false; } -} \ No newline at end of file +} diff --git a/src/main/java/com/wf/captcha/ChineseCaptcha.java b/src/main/java/com/wf/captcha/ChineseCaptcha.java index a05cc83..5695cbd 100644 --- a/src/main/java/com/wf/captcha/ChineseCaptcha.java +++ b/src/main/java/com/wf/captcha/ChineseCaptcha.java @@ -46,6 +46,11 @@ public class ChineseCaptcha extends ChineseCaptchaAbstract { return toBase64("data:image/png;base64,"); } + @Override + public String getContentType() { + return "image/png"; + } + /** * 生成验证码图形 * diff --git a/src/main/java/com/wf/captcha/ChineseGifCaptcha.java b/src/main/java/com/wf/captcha/ChineseGifCaptcha.java index 7f2e35e..99d8a4f 100644 --- a/src/main/java/com/wf/captcha/ChineseGifCaptcha.java +++ b/src/main/java/com/wf/captcha/ChineseGifCaptcha.java @@ -79,6 +79,11 @@ public class ChineseGifCaptcha extends ChineseCaptchaAbstract { return toBase64("data:image/gif;base64,"); } + @Override + public String getContentType() { + return "image/gif"; + } + /** * 画随机码图 * diff --git a/src/main/java/com/wf/captcha/GifCaptcha.java b/src/main/java/com/wf/captcha/GifCaptcha.java index 5e59775..9fe1afd 100644 --- a/src/main/java/com/wf/captcha/GifCaptcha.java +++ b/src/main/java/com/wf/captcha/GifCaptcha.java @@ -85,6 +85,11 @@ public class GifCaptcha extends Captcha { return toBase64("data:image/gif;base64,"); } + @Override + public String getContentType() { + return "image/gif"; + } + /** * 画随机码图 * diff --git a/src/main/java/com/wf/captcha/SpecCaptcha.java b/src/main/java/com/wf/captcha/SpecCaptcha.java index 2de05b9..6de7376 100644 --- a/src/main/java/com/wf/captcha/SpecCaptcha.java +++ b/src/main/java/com/wf/captcha/SpecCaptcha.java @@ -50,6 +50,11 @@ public class SpecCaptcha extends Captcha { return toBase64("data:image/png;base64,"); } + @Override + public String getContentType() { + return "image/png"; + } + /** * 生成验证码图形 * @@ -96,4 +101,4 @@ public class SpecCaptcha extends Captcha { } return false; } -} \ No newline at end of file +} diff --git a/src/main/java/com/wf/captcha/base/Captcha.java b/src/main/java/com/wf/captcha/base/Captcha.java index e38e4d4..b5767e0 100644 --- a/src/main/java/com/wf/captcha/base/Captcha.java +++ b/src/main/java/com/wf/captcha/base/Captcha.java @@ -116,6 +116,13 @@ public abstract class Captcha extends Randoms { */ public abstract String toBase64(); + /** + * 获取图片歌手 + * + * @return 图片格式 MINI + */ + public abstract String getContentType(); + /** * 输出base64编码 * @@ -308,4 +315,4 @@ public abstract class Captcha extends Randoms { public void setCharType(int charType) { this.charType = charType; } -} \ No newline at end of file +} diff --git a/src/main/java/com/wf/captcha/utils/CaptchaUtil.java b/src/main/java/com/wf/captcha/utils/CaptchaUtil.java index 5eed21c..3bd0b2f 100644 --- a/src/main/java/com/wf/captcha/utils/CaptchaUtil.java +++ b/src/main/java/com/wf/captcha/utils/CaptchaUtil.java @@ -117,6 +117,7 @@ public class CaptchaUtil { */ public static void out(Captcha captcha, HttpServletRequest request, HttpServletResponse response) throws IOException { + response.setContentType(captcha.getContentType()); setHeader(response); request.getSession().setAttribute(SESSION_KEY, captcha.text().toLowerCase()); captcha.out(response.getOutputStream()); @@ -152,7 +153,6 @@ public class CaptchaUtil { * @param response HttpServletResponse */ public static void setHeader(HttpServletResponse response) { - response.setContentType("image/gif"); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0);