read form field parameters even if maxSize has been exceeded
------------------------------------------------------------

                 Key: FILEUPLOAD-168
                 URL: https://issues.apache.org/jira/browse/FILEUPLOAD-168
             Project: Commons FileUpload
          Issue Type: Improvement
         Environment: commons fileupload 1.2.2-SNAPSHOT
            Reporter: Paul Rivera


Hi!

This issue is similar to FILEUPLOAD-140.  I can't seem to reopen it so I 
created a new one instead.  FILEUPLOAD-140 was marked as resolve by using the 
streaming API, if I'm not mistaken.  No change was done.  But I disagree on the 
resolution of simply using the streaming API (as detailed in 
http://commons.apache.org/fileupload/streaming.html).

First of all, I tried to upload a big file exceeding maxSize with streaming API 
and got the SizeLimitExceededException even before ANY parameter has been read. 
 

ServletFileUpload.getItemIterator() calls FileUploadBase.getItemIterator() 
which creates a new FileItemIteratorImpl().  In the constructor code of 
FileItemIteratorImpl, it already checks for the requestSize and throws 
SizeLimitExceededException if sizeMax is exceeded.

I'd like to open this discussion again and hope that in the end, we can have 
either:
  - form field parameters BEFORE the file parameter will still get read if 
requestSize is greater than sizeMax and then terminate once we reach the file
  - all form field parameters will still get read if requestSize is greater 
than sizeMax.  But, we should skip reading the body of the files and proceed to 
the next 'boundary' so as not to keep the user waiting, if ever this is 
possible. (preferred)

Then, we should also apply the same improvement into PortletFileUpload.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to