This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
I've a working application where the user upload multiple files at the same time, all this through the use of apache's fileupload, HTML DOM and iframe submits (there's one html form per file to be uploaded, and one iframe per html form... in fact I NEED it this way).
I decided to feedback the user with the upload progress, so I implemented ProgressListener, set a progress listener within the servlet that uploads the file, and use ajax calls in the jsp to get the percent uploaded. By the way, in the servlet I set one progress listener per file and store it in the user's session, in that way I can track the uploading progress for each file.
When I submit one file, the upload progress is successfully updated within the div. I can actually see 0%, 5%,...25%,..56%...82%... 100%
The thing is that, for some unknown reason (to me), whenever I submit more than one file, the div isn't updating with the progress of each file... it's just updated sometimes 'twice': when the first file has been submited, and when a file (1st, 2vd, 3rd, ...) has been uploaded.
The ajax call to get the upload percent, is being called every second. What happens when I call the servlet 'A' with AJAX, and in the middle of this I called one more time servlet 'A' (in this 2nd time I track another progresslistener)? Does the first request stop serving? Any ideas how to show the upload progress of each file if I'm using a form and iframe per file?