commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arijit Mukherjee" <Arijit.Mukher...@newcastle.ac.uk>
Subject RE: [fileupload] Help with Commons FileUpload
Date Mon, 09 Oct 2006 20:16:00 GMT
I added a "maxHttpRequestHeader" parameter to the tomcat HTTP connector,
setting it to a high value. After this the flow gets on a little bit
further, but I'm getting an exception during the parseRequest call -

2006-10-09 21:05:00,280 DEBUG [http-8090-Processor24]
codestore.CodeStoreUploader (CodeStoreUploader.java:173)     - Handling
file input...
2006-10-09 21:05:00,280 DEBUG [http-8090-Processor24]
codestore.CodeStoreUploader (CodeStoreUploader.java:174)     - Request
Content Length: -1
2006-10-09 21:05:00,280 DEBUG [http-8090-Processor24]
codestore.CodeStoreUploader (CodeStoreUploader.java:207)     -
processing upload request...
2006-10-09 21:05:00,280 DEBUG [http-8090-Processor24]
codestore.CodeStoreUploader (CodeStoreUploader.java:222)     - Trying to
upload...
org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException
: the request doesn't contain a multipart/form-data or multipart/mixed
stream, content ty
        at
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase
.java:299)
        at
uk.ac.ncl.neresc.dynasoar.codestore.CodeStoreUploader.handleFile(CodeSto
reUploader.java:225)
        at
uk.ac.ncl.neresc.dynasoar.codestore.CodeStoreUploader.doPost(CodeStoreUp
loader.java:175)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:237)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:683)

It says that the request is not multipart form-data - but I've already
done that -

	        out.println("Please provide the VM name and select the
files you wish to upload and then click the Upload button");
                    out.println("<br/>");
                    out.println("<b>");
                    out.println("Please make sure that the 1st entry is
the config file, the 2nd entry is the XML description and the other
entires are for the hard disk(s)");
                    out.println("</b>");
                    out.println("<br/>");
                    out.println("<form enctype=\"multipart/form-data\"
action=\"CodeStoreUploader\" method=POST>");
                    out.println("<b>");
                    out.println("VM Name ");
                    out.println("</b>");
                    out.println("<input name=vmname type=text size=30");
                    out.println("<br/>");
                    out.println("<input name=configfile type=file
size=100");
                    out.println("<br/>");
                    out.println("<input name=descfile type=file
size=100");
                    out.println("<br/>");
                    out.println("<input name=virtualharddisk1 type=file
size=100");
                    out.println("<br/>");
                    out.println("<input name=virtualharddisk2 type=file
size=100");
                    out.println("<br/>");
                    out.println("<input name=virtualharddisk3 type=file
size=100");
                    out.println("<br/>");
                    out.println("<input name=virtualharddisk4 type=file
size=100");
                    out.println("<br/>");
                    out.println("<input name=virtualharddisk5 type=file
size=100");
                    out.println("<br/>");
                    out.println("<input type=submit value=Upload>");

What could have gone wrong?

Regards
Arijit


>-----Original Message-----
>From: Arijit Mukherjee [mailto:Arijit.Mukherjee@newcastle.ac.uk] 
>Sent: 09 October 2006 16:40
>To: Jakarta Commons Users List
>Subject: RE: [fileupload] Help with Commons FileUpload
>
>The servlet is on Tomcat 5.0.28. I was trying to find out if 
>that has a limit in the max size - found nothing yet, and the 
>same tomcat and same file upload code works fine on a 
>powerbook, which made me think about the 32bit/64bit thing...
>
>Arijit
>
>>-----Original Message-----
>>From: Andrew [mailto:lists@serff.net]
>>Sent: 09 October 2006 16:28
>>To: Jakarta Commons Users List
>>Subject: Re: [fileupload] Help with Commons FileUpload
>>
>>What are you running on?  Apache/Jakarta/Jboss?  What version?
>>
>>Andrew
>>Arijit Mukherjee wrote:
>>> Thanx Andrew - but I've already tried a nightly build - it
>>didn't help.
>>> Seems like the request doesn't even reach the server's file 
>handling 
>>> method:-((
>>>
>>> Arijit
>>>
>>>   
>>>> -----Original Message-----
>>>> From: Andrew [mailto:lists@serff.net]
>>>> Sent: 09 October 2006 16:12
>>>> To: Jakarta Commons Users List
>>>> Subject: Re: [fileupload] Help with Commons FileUpload
>>>>
>>>> Yes, contentLength is an INT.  That is what was killing me
>>when using
>>>> FileUpload 1.1.1.  It would get a negative number as the content 
>>>> length and throw that UnknownSizeException.
>>>> The nightly builds seem to have fixed that for me though as they 
>>>> actually pay attention to the maxSize parameter now (i.e.
>>>> if it is -1, then ignore contentSize). 
>>>>
>>>> As for the 32 bit windows/linux, i haven't tried that.  
>I'm running 
>>>> on
>>>> 64 bit linux/solaris.
>>>>
>>>> Andrew
>>>> Arijit Mukherjee wrote:
>>>>     
>>>>> By any chance, can it be limited by the contentLength of the http 
>>>>> request - because that's an INT?
>>>>>
>>>>> Arijit
>>>>>
>>>>>   
>>>>>       
>>>>>> -----Original Message-----
>>>>>> From: Arijit Mukherjee [mailto:Arijit.Mukherjee@newcastle.ac.uk]
>>>>>> Sent: 09 October 2006 14:50
>>>>>> To: Jakarta Commons Users List
>>>>>> Subject: [fileupload] Help with Commons FileUpload
>>>>>>
>>>>>> Hi All
>>>>>>
>>>>>> It's about the max allowable upload again.
>>>>>>
>>>>>> Earlier, I was trying to upload a single file (from a servlet)
>>>>>>     
>>>>>>         
>>>>>>> 2GB, which didn't work. The methods I've been using are as
>>>>>>>       
>>>>>>>           
>>>>>> in the mail below.
>>>>>> It seems that the "handleFile" method isn't being invoked at all.
>>>>>>
>>>>>> I tried to break the file into smaller chunks < 2GB, but
>>>>>>         
>>>> even in that
>>>>     
>>>>>> case, the upload doesn't work, and now I'm getting an error
>>>>>>         
>>> >from the
>>>   
>>>>>> browser -
>>>>>>
>>>>>> "The connection was reset         
>>>>>> The connection to the server was reset while the page 
>was loading.
>>>>>>    *   The site could be temporarily unavailable or too busy. 
>>>>>> Try again
>>>>>> in a few
>>>>>>          moments.
>>>>>>    *   If you are unable to load any pages, check your computer's
>>>>>> network
>>>>>>          connection.
>>>>>>    *   If your computer or network is protected by a firewall 
>>>>>> or proxy,
>>>>>> make sure
>>>>>>          that Firefox is permitted to access the Web."
>>>>>>
>>>>>> There is a similar error on IE too.
>>>>>>
>>>>>> My question is - if there is a problem with the file
>>size, then the
>>>>>> servlet should throw an exception while invoking the
>>commons upload
>>>>>> APIs. But, it's not going there at all - as it seems. I had
>>>>>>         
>>>> a feeling
>>>>     
>>>>>> that there might be limits in size in the HTTP request
>>itself - but
>>>>>> even that's not the case because I've been able to upload bigger

>>>>>> files with the same code on a Mac Powerbook (using 
>commons-upload 
>>>>>> 1.0). It's failing when I'm trying to do the same thing
>>on a WinXP
>>>>>> machine or a Linux machine. Earlier I posted a message 
>suspecting 
>>>>>> that it probably has something to do with addressing
>>system of the
>>>>>> machines - like 64 bit or 32 bits - but I thought that
>>would be the
>>>>>> case for a single file size.
>>>>>>
>>>>>> Has anyone been able to upload files > 2GB on a windows or linux
>>>>>> (32
>>>>>> bit) system? Can you please give me some pointers?
>>>>>>
>>>>>> Thanx in advance
>>>>>> Arijit
>>>>>>
>>>>>>
>>>>>>
>>>>>>     
>>>>>>         
>>>>>>> -----Original Message-----
>>>>>>> From: Arijit Mukherjee [mailto:Arijit.Mukherjee@newcastle.ac.uk]
>>>>>>> Sent: 02 October 2006 17:09
>>>>>>> To: commons-user@jakarta.apache.org
>>>>>>> Subject: Commons - Help with Commons FileUpload
>>>>>>>
>>>>>>> Hi All
>>>>>>>
>>>>>>> I have been using the Apache Commons FileUpload package 
>for some 
>>>>>>> time (mostly simple use cases) but stuck into something 
>recently.
>>>>>>>       
>>>>>>>           
>>>>>> I'm trying
>>>>>>     
>>>>>>         
>>>>>>> to upload files (greater than 2GB) onto a server using
>>the commons
>>>>>>> upload package within a servlet (inside tomcat). Anything
>>>>>>>       
>>>>>>>           
>>>>>> less than 2GB
>>>>>>     
>>>>>>         
>>>>>>> works alright (although slowly), but anything more than
>>>>>>>           
>>>> that simply
>>>>     
>>>>>>> doesn't do anything. In the "doPost" method of the servlet, I
>>>>>>>       
>>>>>>>           
>>>>>> have two
>>>>>>     
>>>>>>         
>>>>>>> options based on an init parameter - either handling the
>>>>>>>           
>>>> option, or
>>>>     
>>>>>>> handling the file - so the commons API's are used in the
>>>>>>> handleFile() method -
>>>>>>>
>>>>>>> public void doPost(HttpServletRequest request,
>>HttpServletResponse
>>>>>>> response)
>>>>>>>            throws IOException, ServletException {
>>>>>>>        try {
>>>>>>>            if (!init) {
>>>>>>>                mLog.debug("Handling file input...");
>>>>>>>                handleFile(request, response);
>>>>>>>            } else {
>>>>>>>                mLog.debug("Handling option input...");
>>>>>>>                handleRadioOption(request, response);
>>>>>>>            }
>>>>>>>        } catch (Exception ex) {
>>>>>>>            ex.printStackTrace();
>>>>>>>        }
>>>>>>> }
>>>>>>>
>>>>>>> private void handleFile(HttpServletRequest request,
>>>>>>>       
>>>>>>>           
>>>>>> HttpServletResponse
>>>>>>     
>>>>>>         
>>>>>>> response)
>>>>>>>                            throws IOException, 
>ServletException {
>>>>>>>
>>>>>>> 	PrintWriter out = response.getWriter();
>>>>>>> 	...
>>>>>>> 	boolean isMultipart =
>>>>>>> ServletFileUpload.isMultipartContent(request);
>>>>>>> 	// Create a new file upload handler
>>>>>>>            FileItemFactory factory = new DiskFileItemFactory();
>>>>>>>            ServletFileUpload upload = new
>>>>>>>           
>>>> ServletFileUpload(factory);
>>>>     
>>>>>>>            // Set overall request size constraint
>>>>>>>            upload.setSizeMax(-1);
>>>>>>>            upload.setFileSizeMax(-1);
>>>>>>>            // Parse the request
>>>>>>>            List items = upload.parseRequest(request);
>>>>>>> 	...
>>>>>>> }
>>>>>>>
>>>>>>> It seems that when the files are selected and the "upload" 
>>>>>>> button is clicked on the browser (a submit action), the
>>>>>>>       
>>>>>>>           
>>>>>> control doesn't
>>>>>>     
>>>>>>         
>>>>>>> go into this method at all - only when one of the files are
>>>>>>>       
>>>>>>>           
>>>>>> larger than
>>>>>>     
>>>>>>         
>>>>>>> 2GB - otherwise, it executes fine.
>>>>>>> I've tried several combinations for setting the max file
>>>>>>>       
>>>>>>>           
>>>>>> size, but none
>>>>>>     
>>>>>>         
>>>>>>> seem to work. Can it be related to the servlet APIs
>>>>>>>           
>>>> somehow? Is the
>>>>     
>>>>>>> httpRequest size too large in this case?
>>>>>>>
>>>>>>> Thanx in advance for any help.
>>>>>>>
>>>>>>> Regards
>>>>>>> Arijit
>>>>>>>
>>>>>>>
>>>>>>> "And when the night is cloudy,
>>>>>>> There is still a light that shines on me, Shine on until
>>>>>>>       
>>>>>>>           
>>>>>> tomorrow, let
>>>>>>     
>>>>>>         
>>>>>>> it be. "
>>>>>>>
>>>>>>> John Lennon/Paul McCartney
>>>>>>>
>>>>>>>
>>>>>>>       
>>>>>>>           
>>>> 
>>---------------------------------------------------------------------
>>>>     
>>>>>> To unsubscribe, e-mail: 
>>commons-user-unsubscribe@jakarta.apache.org
>>>>>> For additional commands, e-mail: 
>>>>>>         
>>>> commons-user-help@jakarta.apache.org
>>>>     
>>>>>>     
>>>>>>         
>>>>> 
>>--------------------------------------------------------------------
>>>>> - To unsubscribe, e-mail: 
>>>>> commons-user-unsubscribe@jakarta.apache.org
>>>>> For additional commands, e-mail: 
>>>>> commons-user-help@jakarta.apache.org
>>>>>
>>>>>   
>>>>>       
>>>>
>>>> 
>>---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>>>> For additional commands, e-mail: 
>>commons-user-help@jakarta.apache.org
>>>>
>>>>
>>>>     
>>>
>>> 
>---------------------------------------------------------------------
>>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: 
>commons-user-help@jakarta.apache.org
>>>
>>>   
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: commons-user-help@jakarta.apache.org
>>
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message