[
https://issues.apache.org/jira/browse/FILEUPLOAD-194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13607482#comment-13607482
]
Simone Tripodi commented on FILEUPLOAD-194:
-------------------------------------------
Decreased issue level back to _Major_ - after investigating to old test cases,
looks like that this is the behaviour _by design_, have a look at the
[SizesTest|http://svn.apache.org/viewvc/commons/proper/fileupload/trunk/src/test/java/org/apache/commons/fileupload/SizesTest.java?view=markup],
more specifically to {{SizesTest#testFileSizeLimit()}} (line 125) and
{{SizesTest#testFileSizeLimitWithFakedContentLength()}} (line 179).
I think this issue can be resolved only in a future major release of
_FileUpload_.
> conceptual error throwing FileUploadException when upload size or file size
> exeeds limits
> -----------------------------------------------------------------------------------------
>
> Key: FILEUPLOAD-194
> URL: https://issues.apache.org/jira/browse/FILEUPLOAD-194
> Project: Commons FileUpload
> Issue Type: Bug
> Affects Versions: 1.2.2
> Reporter: Hanspeter Dünnenberger
> Attachments: my-changes.patch,
> testMaxSizeLimitAndNormalFormField.patch
>
>
> When any size limits exceed, immediately a
> FileUploadBase.SizeLimitExceededException or
> FileUploadBase.FileSizeLimitExceededException is thrown and parsing of the
> multipart request terminates without providing request parameters for further
> processing.
> This basically makes it impossible for any web application to handle size
> limit exceeded cases gracefully.
> My proposal is that request parsing should always complete to deliver the
> request parameters. Size limit exceeded cases/exceptions might be collected
> for later retrieval, FileSizeLimitExeededException should be mapped to the
> FileItem to allow some validation on the FileItem on application level. This
> would allow to mark upload input fields as erronous if the uploaded file was
> too big.
> Actually I made a patch for that (see attachment). With this patch,
> commons-fileupload always completes request parsing in case of size limit
> exceedings and only after complete parsing will throw an exception if one was
> detected. Using FileUploadBase.setThrowUploadException(false) no exceptions
> will be thrown (except more critical ones like invalid stream format).
> After request processing the collected FileUploadExceptions might be
> retrieved using FileUploadBase.getFileUploadExceptions().
> The patch shows the concept, but further improvement might be necessary.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira