[richfaces-issues] [JBoss JIRA] (RF-13514) Support file upload progress tracking in Servlets >= 3.0 environment

Michal Petrov (JIRA) issues at jboss.org
Tue May 20 04:34:56 EDT 2014


     [ https://issues.jboss.org/browse/RF-13514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michal Petrov resolved RF-13514.
--------------------------------

    Resolution: Done


Done for 4.5.x, works on WildFly 8 and EAP 6.2 (tested on showcase).

> Support file upload progress tracking in Servlets >= 3.0 environment
> --------------------------------------------------------------------
>
>                 Key: RF-13514
>                 URL: https://issues.jboss.org/browse/RF-13514
>             Project: RichFaces
>          Issue Type: Enhancement
>      Security Level: Public(Everyone can see) 
>          Components: component-input, core
>    Affects Versions: 5.0.0.Alpha3
>            Reporter: Lukáš Fryč
>            Assignee: Michal Petrov
>             Fix For: 4.5.0.Alpha3
>
>   Original Estimate: 1 day
>  Remaining Estimate: 1 day
>
> We currently support two approaches for file upload:
> * Servlets 2.5: own request form data parser [{{MultipartRequestParser}}|https://github.com/richfaces/richfaces/blob/master/framework/src/main/java/org/richfaces/request/MultipartRequestParser.java]
> * Servlets 3.0: leveraging {{HttpServletRequest#getParts()}}
> However as we have discussed RF-13444, we had to finally do a trade-off of limiting support of file progress tracking. I.e. in Servlets 3.0 we have no simple way how to track file upload progress since getParts() returns data for completed request.
> There are several possible outcomes:
> 1) drop server-side file upload progress tracking and leverage XHR2/HTML5 that has built-in ability to track progress
> * imho we are already prepared to switch to XHR2 and client-side progress (possibly leveraging some third-party widget) since [all major browsers support it at least one version back|http://caniuse.com/#feat=xhr2]
> * existing implementation: http://www.script-tutorials.com/pure-html5-file-upload/
> 2) use a {{ServletFilter}} to wrap a request as our {{FileUploadFacesContextFactory}} currently do and so have an earlier access to the request object
> * this principle has a drawback - we have to ensure our filter has high-enough priority so the servlet container won't touch the request body yet



--
This message was sent by Atlassian JIRA
(v6.2.3#6260)



More information about the richfaces-issues mailing list