I checked our CRM and looks like your agency has some developer training seat available. I would recommend you to take the Kentico 12 MVC Developer training. There is a new module been added for MVC widget and form control for MVC and it has an example on building an upload control. Too complex to copy everything over here (and I can't do that because it's part of the training at the moment as well).
