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
> Wicket-user@lists.sourceforge.net
> 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
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to