Thanks for introducting the class to me, however look like this
missing some object like session and request which I need
In fact I am going to output captcha according to jCaptcha example, it
need request and session as follow. But can I do the same at
WebResource?
public ImageCaptcha() throws ImageFormatException, IOException {
super();
final WebRequest httpServletRequest = (WebRequest)getRequest();
final WebResponse httpServletResponse = (WebResponse)getResponse();
byte[] captchaChallengeAsJpeg = null;
// the output stream to render the captcha image as jpeg into
ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
// get the session id that will identify the generated captcha.
// the same id must be used to validate the response, the
session id is a good candidate!
String captchaId = getSession().getId();
// call the ImageCaptchaService getChallenge method
BufferedImage challenge = new
DefaultManageableImageCaptchaService().getImageChallengeForID(captchaId,
httpServletRequest.getLocale());
// a jpeg encoder
JPEGImageEncoder jpegEncoder =
JPEGCodec.createJPEGEncoder(jpegOutputStream);
jpegEncoder.encode(challenge);
captchaChallengeAsJpeg = jpegOutputStream.toByteArray();
// flush it in the response
httpServletResponse.setHeader("Cache-Control", "no-store");
httpServletResponse.setHeader("Pragma", "no-cache");
httpServletResponse.setDateHeader("Expires", 0);
httpServletResponse.setContentType("image/jpeg");
OutputStream responseOutputStream =
httpServletResponse.getOutputStream();
responseOutputStream.write(captchaChallengeAsJpeg);
responseOutputStream.flush();
responseOutputStream.close();
}
On 11/22/06, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> For binary output, use a (web)resource. For instance, something like this:
>
> WebResource export = new WebResource() {
>
> @Override
> public IResourceStream getResourceStream() {
> CharSequence discounts = DataBase.getInstance()
> .exportDiscounts();
> return new StringResourceStream(discounts, "text/plain");
> }
>
> @Override
> protected void setHeaders(WebResponse response) {
> super.setHeaders(response);
> response.setAttachmentHeader("discounts.csv");
> }
> };
> export.setCacheable(false);
>
> new ResourceLink(this, "exportLink", export);
>
>
> Eelco
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Wicket-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user