And, nothing happens on IE - I mean, as before, the code doesn't go through
the file handling bit. Oddly, while trying to do it via firefox, a couple of
files were really text/xml. If I choose other binary files instead of them,
the earlier problem comes back. And, this same code for files < 2GB
successfully uploads a combination of XML files, VMX files (VMWare config
files - text) and VMDK files (VMWare Virtual Hard Disk - binary).
Arijit
On 9/10/06 21:49, "Arijit Mukherjee" <[EMAIL PROTECTED]>
wrote:
> Firefox/Safari/IE. This error came on a test on Firefox.
>
> Arijit
>
>
> On 9/10/06 21:40, "Andrew" <[EMAIL PROTECTED]> wrote:
>
>> What are you using to upload on the client side?
>>
>> Andrew
>> Arijit Mukherjee wrote:
>>> 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]
>>>
>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> 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]