Upload after confirmation and progress bar

Hm, you might be able to set the upload contents as dash.dependencies.State and set a confirmation button as dash.dependencies.Input so that your callback is only fired on button click (but the contents of the upload are still sent). See Part 2. Basic Callbacks | Dash for Python Documentation | Plotly for an example of State.

This isn’t possible on a per-component basis, but you can add a general loading state with what is outlined here: 📣 Dash Loading States.