##Web Application's Browser based File Upload Architecture
Web Application run on everywhere with Web Browser installed. There is two way to allows file upload in Web Browser, First is using external third-party plugin on Browser such as Flash, Java Applet, SilverLight, etc. Second is using the HTML Elements supported by Web Browser natively.
###Plugin based Flash, SilverLight or Java Applet require user's to install proprietary runtime and user will required to allow the runtime to execute due to security concern and based on trust of the web domain/
For example, in Redmine software, the image uploading are using Java Applet, mostly unable to use the function in certain browser, even we clicking allows to run the Java in the browser.