You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Frederic Bidet <fr...@axonie.com> on 2002/03/28 18:25:19 UTC

Upload problem

Hi,

I'm working on a content management project and I'm having some problem with upload.
I have a document bean and I'm trying to upload files as attachements.
When I run my app, the file is uploaded on the server and the database is updated.
Then my uploadAction forward to the viewDocumentAction but I get an exception
before the viewDocumentAction is executed.

--- end of my uploadAction file :
    String forward = mapping.findForward("success").getPath();
    forward = forward + "?idDoc=" + idDoc;
    servlet.log(" Forwarding to success page" + forward);
    return (new ActionForward(forward));
    }
}

--- my struts-config.xml file:
    <!-- Upload attachement -->
    <action path="/uploadAttachement"
                 type="proto.UploadAction"
               name="uploadForm"
              scope="request"
           validate="true"
                input="/docview.jsp">
    <forward name="success"
                    path="/viewDocument.do"
               redirect="true"/>
    </action>

Could someone explain me why I get this exception although the upload action 
ended well ?
Thanks.

Fred

-------------------------------------------------------------------------------------
2002-03-28 17:57:17 jsp: init
2002-03-28 17:57:25 action: UploadAction:  Processing action for Document: n45tf1g8
2002-03-28 17:57:25 action:  Populating Attachement bean: Attachement[idAttachement=td45, name=index.jsp, size=1023, type=text/html]
2002-03-28 17:57:25 action:  Forwarding to success page: /viewDocument.do?idDoc=n45tf1g8
2002-03-28 17:57:25 ApplicationDispatcher[/proto] Servlet.service() for servlet action threw exception
javax.servlet.ServletException: Multipart data doesn't start with boundary
	at org.apache.struts.upload.DiskMultipartRequestHandler.handleRequest(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:1109)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:470)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:431)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:355)
	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:972)
	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:1109)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:470)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
	at java.lang.Thread.run(Thread.java:484)
----- Root Cause -----
java.io.IOException: Multipart data doesn't start with boundary
	at org.apache.struts.upload.MultipartBoundaryInputStream.readFirstElement(MultipartBoundaryInputStream.java:348)
	at org.apache.struts.upload.MultipartBoundaryInputStream.setInputStream(MultipartBoundaryInputStream.java:172)
	at org.apache.struts.upload.MultipartIterator.parseRequest(MultipartIterator.java:202)
	at org.apache.struts.upload.MultipartIterator.<init>(MultipartIterator.java:171)
	at org.apache.struts.upload.DiskMultipartRequestHandler.handleRequest(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:1109)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:470)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:431)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:355)
	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:972)
	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:1109)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:470)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
	at java.lang.Thread.run(Thread.java:484)







--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>