File uploads are a real pain - security, server functionality, browser differences all meet. The ideal situation - choosing a file, uploading it, displaying it, allowing it to be changed - all through AJAX - is not feasible.
At the moment the next best thing seems to be to select the file, and upload it when the form is submitted. Then when the form is loaded, info can be displayed about the file (eg. if it is an image, display it).
Any techniques that allow for a more user-friendly and interactive upload that I find, I’ll explain and post.