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:[EMAIL PROTECTED]
>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:[EMAIL PROTECTED]
>>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:[EMAIL PROTECTED]
>>>> 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:[EMAIL PROTECTED]
>>>>>> 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:[EMAIL PROTECTED]
>>>>>>> Sent: 02 October 2006 17:09
>>>>>>> To: [email protected]
>>>>>>> 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:
>>[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]
>>
>>
>
>---------------------------------------------------------------------
>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]