Hi Michael, Thank you for your follow up. I notice there is a classpath confusion somewhere but since Struts and commons-fileupload are so intermingled, I can't separate them from each other. I have tried Struts 1.2.4 but still got the same exception. The reason I am still working with 1.1 is that this is an old project and I am trying to add the upload functionality to it.
However, I came to a decision to create a separate servlet just for file uploading and only import the proper classes for commons- fileupload and hopefully when I send a request to the server, the Struts framework won't be invoked. Let's just hope that this would work. Thanks again. If you find another solution, please post it. Marwan --- In [EMAIL PROTECTED], Michael McGrady <[EMAIL PROTECTED]> wrote: > Hi, Marwan, > > I am going to look into this a bit, but I have to tell you that using > the Struts application looks harder to me than rolling your own and > working with commons upload directly. Anyway, the code you attribute to > CommonsMultipartRequestHandler, viz., > > DiskFileUpload upload = new DiskFileUpload(); > > upload.setSizeMax((int) getSizeMax(ac)); > > may be the problem. I don't know why the size maximum is changed to an > int when it takes a long. Maybe there are conflicting versions here. > Maybe that is why someone said you needed to update something. Looks > like Struts is what needs updating, not commons upload, if this is right. > > I know the current version of Struts does not use the (int) cast. They > have changed the downloads for Struts and I have not quite figured out > what is up yet, so I could not access older versions, which you must > have if that is your stack trace. > > Michael McGrady > > > Marwan Salam wrote: > > >My action is pasted below. As you will see I never call setMaxFile > >(long) in my acdtion. From the stack trace it looks like Struts > >internal classes are doing the call: > >org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest > >(CommonsMultipartRequestHandler.java:219) > > > >These are the 2 lines that do the actual call from > >CommonsMultipartRequestHandler: > > DiskFileUpload upload = new DiskFileUpload(); > > upload.setSizeMax((int) getSizeMax(ac)); > > > >That is not my code. I have tried both solutions mentioned before and > >they did not help. > > > >I would appreciate any help. > > > >Marwan > > > > > >MaintainItemForm theForm = (MaintainItemForm) form; > > > > > >//this line is here for when the input page is upload-utf8.jsp, > >//it sets the correct character encoding for the response > >String encoding = request.getCharacterEncoding(); > >if ((encoding != null) && (encoding.equalsIgnoreCase("utf-8"))) > >{ > >response.setContentType("text/html; charset=utf-8"); > >} > > > > > >//retrieve the text data > > > >//retrieve the file representation > >FormFile file = theForm.getMyFile(); > > > >//retrieve the file name > >String fileName= file.getFileName(); > > > >//retrieve the content type > >String contentType = file.getContentType(); > > > >//boolean writeFile = theForm.getWriteFile(); > > > >//retrieve the file size > >String size = (file.getFileSize() + " bytes"); > > > >String data = null; > > > >try { > >//retrieve the file data > >ByteArrayOutputStream baos = new ByteArrayOutputStream(); > >InputStream stream = file.getInputStream(); > >//write the file to the file specified > >OutputStream bos = new FileOutputStream("/testImages"); > >int bytesRead = 0; > >byte[] buffer = new byte[8192]; > >while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) { > >bos.write(buffer, 0, bytesRead); > >} > >bos.close(); > >data = "The file has been written to \"" + "/testImages" + "\""; > >logger.debug(data); > >//close the stream > >stream.close(); > >} > >catch (FileNotFoundException fnfe) > >{ > >return null; > >} > >catch (IOException ioe) > >{ > >return null; > >} > > > >//place the data into the request for retrieval from display.jsp > >// request.setAttribute("text", text); > >// request.setAttribute("queryValue", > >queryValue); > >request.setAttribute("fileName", fileName); > >request.setAttribute("contentType", contentType); > >request.setAttribute("size", size); > >request.setAttribute("data", data); > > > >//destroy the temporary file created > >file.destroy(); > > > >//return a forward to display.jsp > >return mapping.findForward("edit_success"); > > > > > >--- In [EMAIL PROTECTED], Michael McGrady <[EMAIL PROTECTED]> wrote: > > > > > >>The method setMaxFile(long) exists even in older versions. So, are > >> > >> > >you > > > > > >>doing something other than tossing a long value into that method? > >> > >>Michael McGrady > >> > >>Travis Reeder wrote: > >> > >> > >> > >>>Looks like you need the latest commons-fileupload.jar. > >>> > >>>Travis > >>> > >>>-----Original Message----- > >>>From: Marwan Salam [mailto:[EMAIL PROTECTED] > >>>Sent: Thursday, October 21, 2004 10:21 AM > >>>To: [EMAIL PROTECTED] > >>>Subject: FileUpload Errors > >>> > >>> > >>>Hi all, > >>> > >>>I am using Struts 1.1 and I am trying to upload an image file to > >>> > >>> > >the > > > > > >>>server but I keep getting the below exception. I have used the > >>> > >>> > >example > > > > > >>>that comes with Struts under jakarta-struts-1.1\webapps and did > >>> > >>> > >exactly > > > > > >>>like they have but still getting the exception. I have put print > >>>statements all over the Action but the problem is that the request > >>> > >>> > >is > > > > > >>>not even getting to the action. No compile errors whatsoever. I > >>> > >>> > >also > > > > > >>>have commons-logging.jar in my WEB-INF\lib. > >>> > >>>My JSP looks like: > >>> > >>><html:form action="maintainItem" enctype="multipart/form-data"> > >>> > >>> . > >>> . > >>> . > >>>Select Image: <html:file name="maintainItemForm" > >>> > >>> > >property="myFile"/> > > > > > >>><br> <html:submit onclick="dispatch.value='uploadImage'" > >>> > >>> > >value="Upload > > > > > >>>Image"/> > >>> . > >>> . > >>> . > >>></html:form> > >>> > >>>I have defined the form in struts-config.xml and the request does > >>> > >>> > >not > > > > > >>>even hit the action. > >>> > >>> > >>>[10/21/04 12:08:24:171 CDT] 6ea2663c RequestProces I > >>>org.apache.struts.action.RequestProcessor Processing a 'POST' for > >>>path '/maintainItem' > >>>[10/21/04 12:08:24:936 CDT] 6ea2663c WebGroup E SRVE0026E: > >>>[Servlet Error]-[org.apache.commons.fileupload.FileUpload: method > >>>setSizeMax(I)V not found]: java.lang.NoSuchMethodError: > >>>org.apache.commons.fileupload.FileUpload: method setSizeMax(I)V > >>> > >>> > >not > > > > > >>>found > >>> at > >>> > >>> > >>org.apache.struts.upload.CommonsMultipartRequestHandler.handleReques t > >> > >> > >>>(CommonsMultipartRequestHandler.java:219) > >>> at org.apache.struts.util.RequestUtils.populate > >>>(RequestUtils.java:1055) > >>> at org.apache.struts.action.RequestProcessor.processPopulate > >>>(RequestProcessor.java:798) > >>> at org.apache.struts.action.RequestProcessor.process > >>>(RequestProcessor.java:254) > >>> at org.apache.struts.action.ActionServlet.process > >>>(ActionServlet.java:1422) > >>> at org.apache.struts.action.ActionServlet.doPost > >>>(ActionServlet.java:523) > >>> at javax.servlet.http.HttpServlet.service > >>>(HttpServlet.java:760) > >>> at javax.servlet.http.HttpServlet.service > >>>(HttpServlet.java:853) > >>> at > >>>com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService > >>>(StrictServletInstance.java:110) > >>> at > >>>com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service > >>>(StrictLifecycleServlet.java:174) > >>> at com.ibm.ws.webcontainer.servlet.IdleServletState.service > >>>(StrictLifecycleServlet.java:313) > >>> at > >>>com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service > >>>(StrictLifecycleServlet.java:116) > >>> at com.ibm.ws.webcontainer.servlet.ServletInstance.service > >>>(ServletInstance.java:283) > >>> at > >>>com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch > >>>(ValidServletReferenceState.java:42) > >>> at > >>>com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch > >>>(ServletInstanceReference.java:40) > >>> at > >>> > >>> > >>com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppD i > >> > >> > >s > > > > > >>>patch(WebAppRequestDispatcher.java:948) > >>> at > >>>com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch > >>>(WebAppRequestDispatcher.java:530) > >>> at > >>>com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward > >>>(WebAppRequestDispatcher.java:176) > >>> at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward > >>>(WebAppInvoker.java:79) > >>> at > >>>com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook > >>>(WebAppInvoker.java:201) > >>> at > >>> > >>> > >>com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvo c > >> > >> > >a > > > > > >>>tion(CachedInvocation.java:71) > >>> at > >>>com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI > >>>(ServletRequestProcessor.java:182) > >>> at > >>>com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service > >>>(OSEListener.java:334) > >>> at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest > >>>(HttpConnection.java:56) > >>> at com.ibm.ws.http.HttpConnection.readAndHandleRequest > >>>(HttpConnection.java:610) > >>> at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:435) > >>> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593) > >>> > >>>Any help would be appreciated. > >>> > >>>Marwan > >>> > >>> > >>> > >>> > >>> > >>>----------------------------------------------------------------- -- > >>> > >>> > >-- > > > > > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>> > >>>----------------------------------------------------------------- -- > >>> > >>> > >----------- > > > > > >>>This e-mail message is for the sole use of the intended recipient > >>> > >>> > >(s) and contains confidential and/or privileged information belonging > >to Siebel Systems, Inc. or its customers or partners. Any > >unauthorized review, use, copying, disclosure or distribution of this > >message is strictly prohibited. If you are not an intended recipient > >of this message, please contact the sender by reply e-mail and > >destroy all soft and hard copies of the message and any attachments. > >Thank you for your cooperation. > > > > > >>>==================================================== > >>> > >>> > >>>----------------------------------------------------------------- -- > >>> > >>> > >-- > > > > > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >> > >>------------------------------------------------------------------ -- > >> > >> > >- > > > > > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > > > > >------------------------------------------------------------------- -- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > -------------------------------------------------------------------- - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]