Great solution Fernando.

It works !!!

Thanks.


2009/7/20 Fernando Wermus <fernando.wer...@gmail.com>

> Hi,
>
> Instead using a servlet you could try the following (you can find the whole
> code at wicketstuff pickwick )
>
> This way you will have the session because your are into the
> requestCycle....
>
> On your WicketApp....
>
>        mount(new URIRequestTargetUrlCodingStrategy("/upload") {
>            @Override public IRequestTarget decode(RequestParameters
> requestParameters) {
>                try {
>                    return new
> UploadRequestTarget(decodeParameters(requestParameters).getString("uri"));
>                } catch (Exception e) {
>                    throw new WicketRuntimeException(e);
>                }
>            }
>        });
>
> Your own class for uploading images or whatever you want....
>
> public class UploadRequestTarget implements IRequestTarget {
>    String parameters;
>
>    public UploadRequestTarget(String parameters) {
>        this.parameters=uri;
>    }
>
>    public void detach(RequestCycle requestCycle) {}
>
>    public void respond(RequestCycle requestCycle) {
>        HttpServletRequest
> request=((WebRequest)requestCycle.getRequest()).getHttpServletRequest();
>        HttpServletResponse
>
> response=((WebResponse)requestCycle.getResponse()).getHttpServletResponse();
>
>        response.setHeader("Connection","close");
>
>        FileItemFactory factory = new DiskFileItemFactory();
>        ServletFileUpload upload = new ServletFileUpload(factory);
>
>        List items=null;
>        PrintWriter out=null;
>        try {
>            out = response.getWriter();
>            items = upload.parseRequest(request);
>
>            for (int i = 0; i < items.size(); i++) {
>                DiskFileItem item = (DiskFileItem) items.get(i);
>                // As we are interested not in regular form fields, we
> filter only files
>                if (!item.isFormField()) {
>                        String fileName=COMPLETE IT
>                        item.write(new File(fileName));
>                        out.print("RESP.100");
>                        out.flush();
>                }
>            }
>        } catch (FileUploadException e1) {
>            out.print("RESP.200");
>            // flush the stream to speed up applet notification
>            out.flush();
>            e1.printStackTrace();
>        } catch (Exception e) {
>            e.printStackTrace();
>         }
>
>    }
>
>
> On Sun, Jul 19, 2009 at 3:20 PM, Altuğ B. Altıntaş <alt...@gmail.com>
> wrote:
>
> > Hi Igor;
> >
> > I found the problem; problem is when i hit my UploadServlet via http-get
> > method , i simply write the url and hit the enter then below code is
> > working
> >
> >  Session wicketSession = Session.get();
> >
> > I can get wicket Session, wow !! it is great...
> >
> > BUT ...
> >
> > When i hit  my UploadServlet via http-post method, swfupload access in
> that
> > way then i can NOT access wicketSession.
> >
> > I mean this code :
> >
> >  Session wicketSession = Session.get();
> >
> > it throws :
> >
> > java.lang.IllegalStateException: you can only locate or create sessions
> in
> > the context of a request cycle
> >
> > Any idea ?
> >
> > Thanks
> >
> > Altug..
> >
> >
> > 2009/7/14 Igor Vaynberg <igor.vaynb...@gmail.com>
> >
> > > that doesnt make any sense. all things within the webapp share the
> > > session. you guys are welcome to create a quickstart that replicates
> > > this.
> > >
> > > -igor
> > >
> > > On Tue, Jul 14, 2009 at 3:47 AM, Altuğ B. Altıntaş<alt...@gmail.com>
> > > wrote:
> > > > Also I have a problem like yours.
> > > >
> > > > Servlet session and Wicket's session are different so you are getting
> > > nul.
> > > > Just debug your application and you will see that they have different
> > > > session Id's.
> > > >
> > > > I tried to use WicketSessionFilter but it doesn't work.
> > > >
> > > > I am using wicket 1.3.5.
> > > >
> > > > Cheers...
> > > >
> > > > Altug.
> > > >
> > > > 2009/6/23 danisevsky <danisev...@gmail.com>
> > > >
> > > >> hello, I am using MyMultiFileUploadServlet for uploading files and
> in
> > > some
> > > >> wicket component I need find out how many files was uploaded.
> > > >> I was trying to set this number to the HttpSession in
> > > >> MyMultiFileUploadServlet and get it in the component:
> > > >>
> > > >>                    HttpSession httpSession = ((WebRequest)
> > > >> getRequest()).getHttpServletRequest()
> > > >>                            .getSession();
> > > >> String count = httpSession
> > > >>                            .getAttribute("filesCount");
> > > >>
> > > >> but count is always null. Is there any way how to get some data from
> > > >> servlet? Thanks
> > > >>
> > > >
> > > >
> > > >
> > > > --
> > > > Altuğ.
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > For additional commands, e-mail: users-h...@wicket.apache.org
> > >
> > >
> >
> >
> > --
> > Altuğ.
> >
>
>
>
> --
> Fernando Wermus.
>
> www.linkedin.com/in/fernandowermus
>



-- 
Altuğ.

Reply via email to