HTML5 File API

by ramyaaviji

HTML

<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>

CSS

.thumb {
    height: 75px;
    border: 1px solid #000;
    margin: 10px 5px 0 0;
  }

JavaScript

document.getElementById('files').addEventListener('change', function handleFileSelect(evt) {
    
    var files = evt.target.files; // FileList object
    
    // Loop through the FileList and render image files as thumbnails.
    for (var i = 0, f; f = files[i]; i++) {

        // Only process image files.
        if (!f.type.match('image.*')) {
            continue;
        }

        var reader = new FileReader();

        // Closure to capture the file information.
        reader.onload = (function(theFile) {
            
            return function(e) {
                
                // Render thumbnail.
                var span = document.createElement('span');
                span.innerHTML = '<img class="thumb" src="' + e.target.result + '" title="'  + escape(theFile.name) + '"/>';
                document.getElementById('list').insertBefore(span, null);
                
            };
            
        })(f);

        // Read in the image file as a data URL.
        reader.readAsDataURL(f);
        
    }
}, false);