file uploads with progress indicator