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&#40;I&#41;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]

Reply via email to