Upload with progress.

Next is actual progress UI.