Upload files asynchronously through Ajax for modern browsers and an iframe fallback for IE9.