[FileUpload] Safe to continue parsing after SizeLimitExceededException

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[FileUpload] Safe to continue parsing after SizeLimitExceededException

Bob Schellink
Hi all,

In FileUploadBase I can set the sizeMax or fileSizeMax property. When
calling the method FileUploadBase#parseRequest(..) an exception will
be thrown if the sizeMax or fileSizeMax is exceeded. This means the
request is not parsed at all, so form fields are not available.

I have two related questions:

#1 Will I encounter any problems if I override the
FileUploadBase#parseRequest(..) method and continue parsing the
request after an exception is raised? Meaning I continue iterating
and extracting the remaining request items.

#2 Are form fields parsed before the actual files are parsed? Meaning
if an exception is raised during my custom FileUploadBase#parseRequest
method can I just grab all the FileItem instances already created at
that point and just exit the method, knowing all form fields are
available. Or should I continue parsing the request and do the check
fileItem#isFormField?

kind regards

bob


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [FileUpload] Safe to continue parsing after SizeLimitExceededException

Bob Schellink
Having looked into this I think I can answer my own questions now. For
the benefit of others I will answer them here ;-)

bob wrote:
> I have two related questions:
>
> #1 Will I encounter any problems if I override the
> FileUploadBase#parseRequest(..) method and continue parsing the request
> after an exception is raised? Meaning I continue iterating and
> extracting the remaining request items.

Yes you will have problems. Since FileUpload v1.2.1 the
request#inputStream is closed when a FileSizeLimitExceededException is
thrown. FileItemIterator can't parse any more items once the stream is
closed.

>
> #2 Are form fields parsed before the actual files are parsed? Meaning if
> an exception is raised during my custom FileUploadBase#parseRequest
> method can I just grab all the FileItem instances already created at
> that point and just exit the method, knowing all form fields are
> available. Or should I continue parsing the request and do the check
> fileItem#isFormField?
>

No the order of the items are as they appear on the HTML Form.

kind regards

bob


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]