hi,

i think it is a bug in the FilterDispatcher. I change the Method
prepareDispatcherAndWrapRequest to this and now it works. Should i post it
to a bug-report? is there such a thing?

best regards
avajon

<pre>
protected HttpServletRequest
prepareDispatcherAndWrapRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException {

        Dispatcher du = Dispatcher.getInstance();

        // Prepare and wrap the request if the cleanup filter hasn't
already, cleanup filter should be
        // configured first before struts2 dispatcher filter, hence when its
cleanup filter's turn,
        // static instance of Dispatcher should be null.
        if (du == null) {

            Dispatcher.setInstance(dispatcher);
        }
        else {
            dispatcher = du;
        }
            // prepare the request no matter what - this ensures that the
proper character encoding
            // is used before invoking the mapper (see WW-9127)
            dispatcher.prepare(request, response);

            try {
                // Wrap request first, just in case it is
multipart/form-data
                // parameters might not be accessible through before
encoding (ww-1278)
                request = dispatcher.wrapRequest(request,
getServletContext());
            } catch (IOException e) {
                String message = "Could not wrap servlet request with
MultipartRequestWrapper!";
                LOG.error(message, e);
                throw new ServletException(message, e);
            }
        
        
        return request;
    }
</pre>

avajon wrote:
> 
> Hi,
> 
> i have a Problem with uploading large Files in IE (Firefox it is ok). 
> Here is the first part of my fileuploadinterceptor. (i just override the
> fileuploadinterceptor and added some debug messages)
> 
> <pre>
> public String intercept(ActionInvocation invocation) throws Exception {
> 
>       ActionContext ac = invocation.getInvocationContext();
>         HttpServletRequest request = (HttpServletRequest)
> ac.get(ServletActionContext.HTTP_REQUEST);
>         
> log.debug(ServletActionContext.getRequest()+" request: "+request);
> String content_type = request.getContentType();
> log.debug("contenttype: "+content_type+":
> "+content_type.indexOf("multipart/form-data"));
> 
>         if (!(request instanceof MultiPartRequestWrapper) ) {
>             if (log.isDebugEnabled()) {
>                 ActionProxy proxy = invocation.getProxy();
>                 log.debug(getTextMessage("struts.messages.bypass.request",
> new Object[]{proxy.getNamespace(), proxy.getActionName()},
> ActionContext.getContext().getLocale()));
>             }
> 
>           //  return invocation.invoke();
>         }
> 
>         final Object action = invocation.getAction();
>         ValidationAware validation = null;
> 
>         if (action instanceof ValidationAware) {
>             validation = (ValidationAware) action;
>         }
> 
>         MultiPartRequestWrapper multiWrapper = (MultiPartRequestWrapper)
> request;
> </pre>
> 
> When i try to upload a file in IE i get (sometimes) this error:
> <pre>
> 21:55:48,430 MyFileUploadInterceptor.java -
> [EMAIL PROTECTED] request:
> [EMAIL PROTECTED]
> 21:55:48,431 MyFileUploadInterceptor.java - struts.valueStack=
> 21:55:48,433 MyFileUploadInterceptor.java - contenttype:
> multipart/form-data; boundary=---------------------------7d737a106042c: 0
> 21:55:48,508 MyFileUploadInterceptor.java - Ãberspringe /video/
> videoBackendUploadDone
> ERROR (Dispatcher.java:513) - Could not execute action
> java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade
>         at
> com.webfreetv.interceptor.MyFileUploadInterceptor.intercept(MyFileUploadInterceptor.java:223)
>         at
> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
>         at
> com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
>         at
> com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
>         at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
>         at
> org.apache.struts2.impl.StrutsActionProxy$1.call(StrutsActionProxy.java:46)
>         at
> org.apache.struts2.impl.StrutsActionProxy$1.call(StrutsActionProxy.java:45)
>         at
> org.apache.struts2.impl.RequestContextImpl.callInContext(RequestContextImpl.java:172)
>         at
> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:44)
>         at
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:502)
>         at
> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:423)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> </pre>
> 
> Does anybody know what happens here?
> 
> thanks
> avajon
> 

-- 
View this message in context: 
http://www.nabble.com/-s2--File-Upload-Problem-with-large-Files-in-struts2-tf3138410.html#a8709134
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to