if you upload by sending chunks of data, then yes you could use the exact number of bytes transferred so far. OTOH if your upload is a single action with no progress reporting, then you don't really know; you could still use a timer to have the progress bar advance corresponding to the amount of bytes in that upload, based on an assumed upload rate, which you could derive from the uploads done before, so only the first upload would have a jerky progress, and even that could be remedied by starting with either a historic upload rate, or a reasonable first estimate. So it all depends on how you upload things. Since you asked, I expect you'd be in the latter category. :)
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.