Thanks, in fact I get a even nicer way generate image, which is just
use Image() object from wicket, thanks everyone

On 11/22/06, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> You can always do RequestCycle.get() (or
> ((WebRequest)RequestCycle.get())) to get the current request cycle, on
> which you can then call get(Web)Request and get(Web)Response
>
> Eelco
>
> On 11/21/06, Carfield Yim <[EMAIL PROTECTED]> wrote:
> > 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
> >
>
> -------------------------------------------------------------------------
> 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