commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simone Tripodi (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (FILEUPLOAD-180) If ServletFileUpload.setSizeMax() is set the values "bytesRead" and "contentLength" of the ProgressListeners update()-method are ZERO
Date Fri, 15 Mar 2013 15:20:13 GMT

     [ https://issues.apache.org/jira/browse/FILEUPLOAD-180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Simone Tripodi resolved FILEUPLOAD-180.
---------------------------------------

    Resolution: Cannot Reproduce
      Assignee: Simone Tripodi

I tried with both 1.2.2 and 1.3-SNAPSHOT and cannot reproduce the issue - feel free to reopen
it as soon as you can submit a testcase that demonstrates the issue
                
> If ServletFileUpload.setSizeMax() is set the values "bytesRead" and "contentLength" of
the ProgressListeners update()-method are ZERO
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FILEUPLOAD-180
>                 URL: https://issues.apache.org/jira/browse/FILEUPLOAD-180
>             Project: Commons FileUpload
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>         Environment: Tomcat 6.0.24
>            Reporter: Björn Agel
>            Assignee: Simone Tripodi
>              Labels: Zero, bytesRead, contentLength, fileupload, progress_listener, sizeMax
>
> I wrote a ProgressListener to visualize the upload of a file.
> The Listener works as expected as long as the sizeMax-value of the ServletFileUpload
class is not explicitly set.
> If it is set the update()-method of the ProgressListener has ZERO-values for bytesRead
and contentLength ... whats wrong here?
> \\
> \\
> {code:title=UploadServlet.java|borderStyle=solid}
> ...
> FileItemFactory factory = new DiskFileItemFactory();
> ServletFileUpload upload = new ServletFileUpload(factory);
> upload.setHeaderEncoding(request.getCharacterEncoding());
> upload.setFileSizeMax(DEFAULT_SIZE_MAX);
> // if sizeMax is set the update()-method has ZERO values for bytesRead and contentLength
> //upload.setSizeMax(DEFAULT_SIZE_MAX);
> FileUploadListener listener = new FileUploadListener(request);
> upload.setProgressListener(listener);
> 			
> List items = null;
> try {
>    items = upload.parseRequest(request);
> }
> ...
> {code} 
> {code:title=FileUploadListener.java|borderStyle=solid}
> public class FileUploadListener implements ProgressListener
> {
>    private volatile long 
>    bytesRead = 0L,
>    contentLength = -100L,
>    tenKBRead = -1L,
>    startTime = System.currentTimeMillis();
> 		
>    public FileUploadListener(HttpServletRequest request) 
>    {
>       final HttpSession session = request.getSession();
>       session.setAttribute("FILE_UPLOAD_LISTENER", this);			
>    }
> 	    	
>    public void update(long aBytesRead, long aContentLength, int anItem)	    
>    {
>       long tenKB = aBytesRead / 10240;
>       if (tenKBRead == tenKB)
>          return;
>       tenKBRead = tenKB;
>       bytesRead = aBytesRead;
>       if (contentLength != aContentLength)
>          contentLength = aContentLength;
>    }
>    public long getBytesRead() 
>    {
>       return bytesRead;
>    }
>    public long getContentLength() 
>    {
>       return contentLength;
>    }
> 	    
>    public long getElapsedTimeInSeconds()
>    {
>       return (System.currentTimeMillis() - startTime) / 1000;
>    }
> }
> {code} 

--
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

Mime
View raw message