FixMyStreet has had a nice multiple image uploader since version 1.8. This uses
input type=file fields, progressively enhanced to add
drag’n’drop, image preview, and uploading in the background whilst you fill in
the rest of the form.
For this new version, we had a different bug to fix. If the user had uploaded a picture, submitted the form, and was shown the form again due to a server side error of some sort (some validation not caught by client-side validation, for example, or because you were logging in during the reporting process), the image for the preview was then being loaded from the server (where it had already been uploaded), not the client, and not displaying. We patched the exif-js library., Now, if it is given a URL rather than a data: string, it will go off and fetch the image so that it can read out the orientation data.