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