You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Maik Zygan <ma...@brain-slugs.de> on 2006/01/18 14:47:44 UTC

Content length exceeds maximum upload size.

Hi,

Everytime I try to upload a file that's larger then the configured
upload size I get the following exception.

<map:handle-errors> Does'nt work, the problem looks like this exception is
handled by the servlet itself.
Does enyone know how I get Cocoon not to display this exception?

I'm using Apache 2.1.7



Problem in creating the Request
Message: Content length exceeds maximum upload size.

Description: java.io.IOException: Content length exceeds maximum upload size.

Sender: org.apache.cocoon.servlet.CocoonServlet

Source: Cocoon Servlet

cause

java.io.IOException: Content length exceeds maximum upload size.

request-uri

/platform/ebp/pk/ebp-portlets

full exception chain stacktrace

java.io.IOException: Content length exceeds maximum upload size.
	at
org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(RequestFactory.java:78)
	at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1029)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
	at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
	at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
	at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
	at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
	at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
	at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)


stacktrace

java.io.IOException: Content length exceeds maximum upload size.
	at
org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(RequestFactory.java:78)
	at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1029)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
	at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
	at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
	at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
	at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
	at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
	at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)


Apache Cocoon 2.1.7


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Content length exceeds maximum upload size.

Posted by Jeroen Reijn <j....@hippo.nl>.
Hi Maik,

I think that's not possible with 2.1.7.
I tried myself and found out that it should be available in 2.1.8

More information can be found at:
http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=113162177804454&w=4

Regards,

Reijn

Maik Zygan wrote:
> Hi,
> 
> Everytime I try to upload a file that's larger then the configured
> upload size I get the following exception.
> 
> <map:handle-errors> Does'nt work, the problem looks like this exception is
> handled by the servlet itself.
> Does enyone know how I get Cocoon not to display this exception?
> 
> I'm using Apache 2.1.7
> 
> 
> 
> Problem in creating the Request
> Message: Content length exceeds maximum upload size.
> 
> Description: java.io.IOException: Content length exceeds maximum upload size.
> 
> Sender: org.apache.cocoon.servlet.CocoonServlet
> 
> Source: Cocoon Servlet
> 
> cause
> 
> java.io.IOException: Content length exceeds maximum upload size.
> 
> request-uri
> 
> /platform/ebp/pk/ebp-portlets
> 
> full exception chain stacktrace
> 
> java.io.IOException: Content length exceeds maximum upload size.
> 	at
> org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(RequestFactory.java:78)
> 	at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1029)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
> 	at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
> 	at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
> 	at
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
> 	at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
> 	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
> 	at
> weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
> 	at
> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
> 	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> 	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
> 
> 
> stacktrace
> 
> java.io.IOException: Content length exceeds maximum upload size.
> 	at
> org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(RequestFactory.java:78)
> 	at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1029)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
> 	at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
> 	at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
> 	at
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
> 	at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
> 	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
> 	at
> weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
> 	at
> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
> 	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> 	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
> 
> 
> Apache Cocoon 2.1.7
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
> 

-- 
Met vriendelijke groet,

Jeroen Reijn

Hippo

Oosteinde 11
1017WT Amsterdam
The Netherlands
Tel  +31 (0)20 5224466

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


RE: Content length exceeds maximum upload size.

Posted by Rob Gregory <Ro...@RosesGroup.co.uk>.
Are you uploading to an XSP or action or what?

I have a couple of XSP examples that might shed some light for you and I
have pasted these here.

Hope this helps mate.

Rob.

FIRST EXAMPLE


<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
     @application   File Upload - handles file uploads from client using
                    the commons file upload support
                    The html form requires an enctype="multipart/form-data"
and a
                    method="post" for it to contain <input name="myFile"
type="file"/>
                    elements.
     @author        Rob Gregory
     @version       05.00.00/037 
-->

<!-- Define the namespaces for any logic sheets we will be using -->
<xsp:page language="java"
    xmlns:xsp="http://apache.org/xsp"
    xmlns:xsp-request="http://apache.org/xsp/request/2.0"
    xmlns:esql="http://apache.org/cocoon/SQL/v2"
    xmlns:session="http://apache.org/xsp/session/2.0" create-session="false"
>
  <xsp:structure>
    <xsp:include>javax.servlet.http.*</xsp:include>
    <xsp:include>java.io.File</xsp:include>
    <xsp:include>org.apache.commons.fileupload.*</xsp:include>
 
<xsp:include>org.apache.cocoon.environment.http.HttpRequest</xsp:include>
 
<xsp:include>org.apache.cocoon.environment.ObjectModelHelper</xsp:include>
 
<xsp:include>org.apache.cocoon.environment.http.HttpEnvironment</xsp:include
>
        <xsp:include>org.apache.commons.logging.Log</xsp:include>
    <xsp:include>org.apache.commons.logging.LogFactory</xsp:include>
  </xsp:structure>

  <xsp:logic>
     // Create a log attribute to allow access to log files
     private static Log log = LogFactory.getLog("upload_commons_xsp");
  </xsp:logic>   

<page>
<content>
  <xsp:logic>
      // get the httpservletrequest from Cocoon
      HttpServletRequest objRequest =
(HttpServletRequest)objectModel.get(HttpEnvironment.HTTP_REQUEST_OBJECT);

      // define some constants
      long lMaxSize = 10000000;   // (10 Mb)
      int iSizeThreshold = 4096;  // bytes to hold in memory before writing
to temp location
      String strPath = "C:/tmp"; // temp location

      // create the uploader
      DiskFileUpload objFileUploads = new DiskFileUpload();

      // maximum size that will be stored in memory
      objFileUploads.setSizeThreshold(iSizeThreshold);

      // the temp location for saving data that is larger than
getSizeThreshold()
      objFileUploads.setRepositoryPath(strPath);

      try {
        List fileItems = objFileUploads.parseRequest(objRequest,
iSizeThreshold, lMaxSize, strPath);
        System.out.println("Number of Files : " + fileItems.size());

        Iterator it = fileItems.iterator();

        for (int i = 0; i &lt; fileItems.size(); i++) {
          FileItem fi = (FileItem) it.next();

          // write the file to the disk
          System.out.println("File " + fi.getName() + " field " +
fi.getFieldName() + " size " + fi.getSize());
          File file = new File(strPath + "/" + i + ".test");
          file.createNewFile();
          // write the incomming file (fi) to the disk file created above
          fi.write(file);

        }
      } catch (FileUploadException fue) {
         fue.printStackTrace();
      } catch (Exception e) {
         e.printStackTrace();
      }

  </xsp:logic>
   <file_upload>Rob Test</file_upload>
   </content>
 </page>
</xsp:page>


SECOND EXAMPLE

Another approach is this:-

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
     @application   File Upload - handles file uploads from client using
                    the cocoon file upload support
                    The html form requires an enctype="multipart/form-data"
and a
                    method="post" for it to contain <input name="myFile"
type="file"/>
                    elements.
     @author        Rob Gregory
     @version       05.00.00/037 
-->

<!-- Define the namespaces for any logic sheets we will be using -->
<xsp:page language="java"
    xmlns:xsp="http://apache.org/xsp"
    xmlns:xsp-request="http://apache.org/xsp/request/2.0"
    xmlns:esql="http://apache.org/cocoon/SQL/v2"
    xmlns:session="http://apache.org/xsp/session/2.0" create-session="false"
>
<xsp:structure>
 
<xsp:include>org.apache.cocoon.components.language.markup.xsp.XSPUtil</xsp:i
nclude>
 
<xsp:include>org.apache.avalon.framework.context.ContextException</xsp:inclu
de>
   <xsp:include>org.apache.cocoon.servlet.multipart.PartOnDisk</xsp:include>
       <xsp:include>org.apache.commons.logging.Log</xsp:include>
    <xsp:include>org.apache.commons.logging.LogFactory</xsp:include>
</xsp:structure>

  <xsp:logic>
     // Create a log attribute to allow access to log files
     private static Log log = LogFactory.getLog("upload_cocoon_xsp");
  </xsp:logic>   

<xsp:logic>
   <!-- determine the temp upload location from the web.xml -->
   File uploadDir = null;
   public void contextualize(Context context) throws ContextException {
      uploadDir = (File) context.get(Constants.CONTEXT_UPLOAD_DIR);
   }
</xsp:logic>

<page>
<content>
  <xsp:logic>

      PartOnDisk filePart = null;

      <!-- try to obtain the file todo enumerate all files -->
      if (request.getParameter("uploaded_file1") != null) {
         filePart = (PartOnDisk) request.get("uploaded_file1");
      } else if (request.getContentType()!=null &amp;&amp;
request.getContentType().indexOf("multipart/form-data") != -1) {
         log.debug("Either uploads are turned off, or you submitted a blank
form");
      }

      <!-- list the files within the upload-dir -->
      log.debug("Dir=" + uploadDir);
      String[] filelist = uploadDir.list();
      log.debug("List=" + filelist.length);
      for (int i = 0; i &lt; filelist.length; i++) {
         log.debug("File [" + i + "]=" + filelist[i]);
      }

      <!-- Process the file here as upload directory is emptied following
request -->
      System.out.println("FileName " + filePart.getFileName());
      <!--System.out.println("File " + filePart.getFile());  also see
getInputStream() -->
      System.out.println("Size " + filePart.getSize());

  </xsp:logic>

   <title>Cocoon Upload Test</title>
   <filesize><xsp:expr>filePart.getSize()</xsp:expr></filesize>
   <filename><xsp:expr>filePart.getFileName()</xsp:expr></filename>

   </content>
 </page>
</xsp:page>





-----Original Message-----
From: Maik Zygan [mailto:mail@brain-slugs.de] 
Sent: 18 January 2006 13:48
To: users@cocoon.apache.org
Subject: Content length exceeds maximum upload size.

Hi,

Everytime I try to upload a file that's larger then the configured
upload size I get the following exception.

<map:handle-errors> Does'nt work, the problem looks like this exception is
handled by the servlet itself.
Does enyone know how I get Cocoon not to display this exception?

I'm using Apache 2.1.7



Problem in creating the Request
Message: Content length exceeds maximum upload size.

Description: java.io.IOException: Content length exceeds maximum upload
size.

Sender: org.apache.cocoon.servlet.CocoonServlet

Source: Cocoon Servlet

cause

java.io.IOException: Content length exceeds maximum upload size.

request-uri

/platform/ebp/pk/ebp-portlets

full exception chain stacktrace

java.io.IOException: Content length exceeds maximum upload size.
	at
org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(Request
Factory.java:78)
	at
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1029)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
tStubImpl.java:1006)
	at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:419)
	at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:315)
	at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
ebAppServletContext.java:6718)
	at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
t.java:321)
	at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
	at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:3764)
	at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2644)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)


stacktrace

java.io.IOException: Content length exceeds maximum upload size.
	at
org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(Request
Factory.java:78)
	at
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1029)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
tStubImpl.java:1006)
	at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:419)
	at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:315)
	at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
ebAppServletContext.java:6718)
	at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
t.java:321)
	at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
	at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:3764)
	at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2644)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)


Apache Cocoon 2.1.7


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org