upload progress optimization