commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Hermanson (JIRA)" <>
Subject [jira] Updated: (FILEUPLOAD-145) setFileSizeMax validation is happening after ENTIRE file gets uploaded
Date Fri, 21 Sep 2007 21:39:50 GMT


Eric Hermanson updated FILEUPLOAD-145:

The attached patch does appear to work in that the client (web browser) receives the desired
file size max error after fileSizeMax bytes are uploaded (whereas before, the entire (size>fileSizeMax)
had to be uploaded before the error was sent).  However, this is still not completely ideal.
 It would be desireable for the server to check the file size immediately, before the upload
starts, and throw the error in a pre-emptive fashion.  But maybe that information is not available
at the fileupload level, and 'fileSizeMax' bytes have to be read in all cases before any error
can be thrown?  If so, that's fine.  This patch is one step better than we had before.  Please
excuse my ignorance of the inner-workings of the fileupload code.

> setFileSizeMax validation is happening after ENTIRE file gets uploaded
> ----------------------------------------------------------------------
>                 Key: FILEUPLOAD-145
>                 URL:
>             Project: Commons FileUpload
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: All, however I mainly use Mac OSX
>            Reporter: Eric Hermanson
>         Attachments: FILEUPLOAD-145.patch
> The LimitedInputStream *IS* correctly raising a FileUploadBase.FileSizeLimitExceededException
in the event of a too-large file.  HOWEVER, the exception isn't getting *processed* until
AFTER all of the data is read.  This is because of what appears to be a bug in MultipartStream.ItemInputStream.close()
(or a bug in close handling after the FileSizeLimitExceededException is raised).  After the
LimitedInputStream correctly raises the file size exception, someone attempts to close the
MultipartStream, but the close() method repeatedly calls 'makeAvailable()' which ends up reading
the rest of the file upload data anyways, REGARDLESS of the size limit exception being raised.

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

View raw message