[ 
https://issues.apache.org/jira/browse/TAP5-272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12643248#action_12643248
 ] 

Howard M. Lewis Ship commented on TAP5-272:
-------------------------------------------

The only solution I can see for this is to add an "incomplete" flag to the 
UploadedFile interface.  I believe that once we hit this exception, we can't 
count on getting any other uploaded files, or potentially, any of the other 
query parameters.  Possibly the correct course is to identify the page, and 
trigger a specific event to indicate the failure.

> Exceeding file size limit throws uncatchable RuntimeException
> -------------------------------------------------------------
>
>                 Key: TAP5-272
>                 URL: https://issues.apache.org/jira/browse/TAP5-272
>             Project: Tapestry 5
>          Issue Type: Bug
>         Environment: Windows XP, Java 1.6, Sun Java Application Server 9.1
>            Reporter: Joel Wiegman
>
> When including the following code in my app module to limit file size on an 
> upload:
>       public void contributeApplicationDefaults(MappedConfiguration<String, 
> String> configuration) {
>               configuration.add(UploadSymbols.FILESIZE_MAX, "1500000");
>       }
> An following internal Tapestry exception gets thrown to the application 
> server VM, which is of course uncatchable in application code.
> [#|2008-10-07T12:27:17.904-0400|SEVERE|Servlet.service() for servlet default 
> threw exception
> java.lang.RuntimeException: Unable to decode multipart encoded request.
>       at 
> org.apache.tapestry5.upload.internal.services.MultipartDecoderImpl.parseRequest(MultipartDecoderImpl.java:116)
>       at 
> org.apache.tapestry5.upload.internal.services.MultipartDecoderImpl.decode(MultipartDecoderImpl.java:94)
>       at 
> $MultipartDecoder_11cd7ca67c8.decode($MultipartDecoder_11cd7ca67c8.java)
>       at 
> $MultipartDecoder_11cd7ca668e.decode($MultipartDecoder_11cd7ca668e.java)
>       at 
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:41)
>       at 
> $HttpServletRequestHandler_11cd7ca6691.service($HttpServletRequestHandler_11cd7ca6691.java)
>       at 
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>       at 
> $HttpServletRequestFilter_11cd7ca668f.service($HttpServletRequestFilter_11cd7ca668f.java)
>       at 
> $HttpServletRequestHandler_11cd7ca6691.service($HttpServletRequestHandler_11cd7ca6691.java)
>       at 
> $HttpServletRequestHandler_11cd7ca668d.service($HttpServletRequestHandler_11cd7ca668d.java)
>       at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:177)
> ......
> Caused by: 
> org.apache.commons.fileupload.FileUploadBase$FileSizeLimitExceededException: 
> The field fileToUpload exceeds its maximum permitted  size of 1500000 
> characters.
>       at 
> org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl$1.raiseError(FileUploadBase.java:645)
>       at 
> org.apache.commons.fileupload.util.LimitedInputStream.checkLimit(LimitedInputStream.java:71)
>       at 
> org.apache.commons.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:128)
>       at java.io.FilterInputStream.read(FilterInputStream.java:90)
>       at org.apache.commons.fileupload.util.Streams.copy(Streams.java:94)
>       at org.apache.commons.fileupload.util.Streams.copy(Streams.java:64)
>       at 
> org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:354)
>       at 
> org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
>       at 
> org.apache.tapestry5.upload.internal.services.MultipartDecoderImpl.parseRequest(MultipartDecoderImpl.java:112)
>       ... 61 more

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to