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
> > > [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
> >
>
> -------------------------------------------------------------------------
> 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