Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<h2>2017 Update: It still depends on the browsers <em>your</em> demographic uses.</h2> <p>An important thing to understand with the "new" HTML5 <code>file</code> API is that is <a href="http://caniuse.com/fileapi" rel="noreferrer">wasn't supported until IE 10</a>. If the specific market you're aiming at has a higher-than-average prepensity toward older versions of Windows, you might not have access to it.</p> <p>Going into 2017, about 5% of browsers are one of IE 6, 7, 8 or 9. If you head into a big corporation (eg this is a B2B tool, or something you're delivering for training) that number can rocket. Just a few months ago —in 2016— I dealt with a company using IE8 on over 60% of their machines.</p> <p>So before you do anything: <strong>check what browser <em>your</em> users use</strong>. If you don't, you'll learn a quick and painful lesson in why "works for me" isn't good enough in a deliverable to a client.</p> <p>My answer from 2008 follows.</p> <hr> <p>However, there are viable non-JS methods of file uploads. You can create an iframe on the page (that you hide with CSS) and then target your form to post to that iframe. The main page doesn't need to move.</p> <p>It's a "real" post so it's not wholly interactive. If you need status you need something server-side to process that. This varies massively depending on your server. <a href="http://en.wikipedia.org/wiki/ASP.NET" rel="noreferrer">ASP.NET</a> has nicer mechanisms. PHP plain fails, but you can use <a href="http://en.wikipedia.org/wiki/Perl" rel="noreferrer">Perl</a> or Apache modifications to get around it.</p> <p>If you need multiple file-uploads, it's best to do each file one at a time (to overcome maximum file upload limits). Post the first form to the iframe, monitor its progress using the above and when it has finished, post the second form to the iframe, and so on.</p> <p>Or use a Java/Flash solution. They're a lot more flexible in what they can do with their posts...</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload