I recently came across a very interesting problem while trying to work out why a content editor could not upload media in to Sitecore. In the Upload Media dialog we were getting to 100% but then nothing:
Well as it turned out we did have an error when we inspected the console tab of chrome development tools. So what was the error?
The solution was simple: in the end we just needed to register the component Sitecore.Controllers.MediaController and give it a lifestyle of LifestylePerWebRequest().
We were using Castle Windsor so within the class where we are registering our components we added:
container.Register(Component.For(Sitecore.Controllers.MediaController).LifestylePerWebRequest());
While we are still having issues but we can at least upload media without getting stuck at 100% and the exception being thrown.