add upload demo with progress bar