I tried this patch with Tomcat 3.3.1, and all i did was add: 
enctype="multipart/form-data" to the <html:form /> element, 
and then i got the following exceptions:

javax.servlet.ServletException: Multipart data doesn't start 
with boundary
        at 
org.apache.struts.upload.DiskMultipartRequestHandler.handleReq
uest(DiskMultipartRequestHandler.java:103)
        at org.apache.struts.util.RequestUtils.populate
(RequestUtils.java:908)
        at 
org.apache.struts.action.RequestProcessor.processPopulate
(RequestProcessor.java:795)
        at org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:244)
        at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1110)
        at org.apache.struts.action.ActionServlet.doPost
(ActionServlet.java:470)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java)
        at org.apache.tomcat.facade.ServletHandler.doService
(ServletHandler.java:574)
        at org.apache.tomcat.core.Handler.invoke
(Handler.java:322)
        at org.apache.tomcat.core.Handler.service
(Handler.java:235)
        at org.apache.tomcat.facade.ServletHandler.service
(ServletHandler.java:485)
        at 
org.apache.tomcat.facade.RequestDispatcherImpl.doForward
(RequestDispatcherImpl.java:272)
        at 
org.apache.tomcat.facade.RequestDispatcherImpl.forward
(RequestDispatcherImpl.java:174)
        at org.apache.struts.action.RequestProcessor.doForward
(RequestProcessor.java:976)
        at 
org.apache.struts.action.RequestProcessor.processActionForward
(RequestProcessor.java:408)
        at org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:269)
        at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1110)
        at org.apache.struts.action.ActionServlet.doPost
(ActionServlet.java:470)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java)
        at org.apache.tomcat.facade.ServletHandler.doService
(ServletHandler.java:574)
        at org.apache.tomcat.core.Handler.invoke
(Handler.java:322)
        at org.apache.tomcat.core.Handler.service
(Handler.java:235)
        at org.apache.tomcat.facade.ServletHandler.service
(ServletHandler.java:485)
        at 
org.apache.tomcat.core.ContextManager.internalService
(ContextManager.java:917)
        at org.apache.tomcat.core.ContextManager.service
(ContextManager.java:833)
        at 
org.apache.tomcat.modules.server.Http10Interceptor.processConn
ection(Http10Interceptor.java:176)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:494)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:516)
        at java.lang.Thread.run(Thread.java:479)
Root cause:
java.io.IOException: Multipart data doesn't start with 
boundary
        at 
org.apache.struts.upload.MultipartBoundaryInputStream.readFirs
tElement(MultipartBoundaryInputStream.java:348)
        at 
org.apache.struts.upload.MultipartBoundaryInputStream.setInput
Stream(MultipartBoundaryInputStream.java:172)
        at 
org.apache.struts.upload.MultipartIterator.parseRequest
(MultipartIterator.java:202)
        at org.apache.struts.upload.MultipartIterator.
(MultipartIterator.java:171)
        at 
org.apache.struts.upload.DiskMultipartRequestHandler.handleReq
uest(DiskMultipartRequestHandler.java:75)
        at org.apache.struts.util.RequestUtils.populate
(RequestUtils.java:908)
        at 
org.apache.struts.action.RequestProcessor.processPopulate
(RequestProcessor.java:795)
        at org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:244)
        at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1110)
        at org.apache.struts.action.ActionServlet.doPost
(ActionServlet.java:470)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java)
        at org.apache.tomcat.facade.ServletHandler.doService
(ServletHandler.java:574)
        at org.apache.tomcat.core.Handler.invoke
(Handler.java:322)
        at org.apache.tomcat.core.Handler.service
(Handler.java:235)
        at org.apache.tomcat.facade.ServletHandler.service
(ServletHandler.java:485)
        at 
org.apache.tomcat.facade.RequestDispatcherImpl.doForward
(RequestDispatcherImpl.java:272)
        at 
org.apache.tomcat.facade.RequestDispatcherImpl.forward
(RequestDispatcherImpl.java:174)
        at org.apache.struts.action.RequestProcessor.doForward
(RequestProcessor.java:976)
        at 
org.apache.struts.action.RequestProcessor.processActionForward
(RequestProcessor.java:408)
        at org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:269)
        at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1110)
        at org.apache.struts.action.ActionServlet.doPost
(ActionServlet.java:470)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java)
        at org.apache.tomcat.facade.ServletHandler.doService
(ServletHandler.java:574)
        at org.apache.tomcat.core.Handler.invoke
(Handler.java:322)
        at org.apache.tomcat.core.Handler.service
(Handler.java:235)
        at org.apache.tomcat.facade.ServletHandler.service
(ServletHandler.java:485)
        at 
org.apache.tomcat.core.ContextManager.internalService
(ContextManager.java:917)
        at org.apache.tomcat.core.ContextManager.service
(ContextManager.java:833)
        at 
org.apache.tomcat.modules.server.Http10Interceptor.processConn
ection(Http10Interceptor.java:176)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:494)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:516)
        at java.lang.Thread.run(Thread.java:479)

If you think your patched jar would act differently, i would 
love to try it!

Thanks.

Jeremy



---- Original message ----
>Date: Fri, 24 May 2002 11:19:30 +1000
>From: "Don Elliott" <[EMAIL PROTECTED]>  
>Subject: File upload failure in struts 1.1b - FIX  
>To: <[EMAIL PROTECTED]>, <struts-
[EMAIL PROTECTED]>
>
>Hi Struts Users / Developers,
>
>I've noticed a lot of posts about this in the archive, 
particularly with
>WebLogic 6.1 - we have also experienced the file upload 
crash in Servlet 2.3
>on Tomcat 4.0.3 for Solaris
>
>The fix is as follows:
>
>In package "org.apache.struts.action" 
class "RequestProcessor" method
>"doForward(...)" add the follwing code as the first lines:
>
>if (request instanceof MultipartRequestWrapper) {
>            request = ((MultipartRequestWrapper) 
request).getRequest();
>}
>
>I've noticed that this doesn't have any priority in the fix 
list (are many
>people using this ?) - If anyone is interested I can send 
them a patched
>struts1.1b1.jar file or the RequestProcessor.class file 
until this fix is
>made in the nightlys..
>
>(I'll batch up all requests for the .jar file daily to save 
my transfer
>costs).
>
>Regards,
>Don Elliott
>e.  [EMAIL PROTECTED]
>
>
>--
>To unsubscribe, e-mail:   <mailto:struts-user-
[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:struts-user-
[EMAIL PROTECTED]>
>

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

Reply via email to