Learning By Doing - Here we try to provide some sample codes and links to external resources. There is a lot of HTML5 materials.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Zetakey HTML5 Webkit Browser - Sample Codes</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<p>This sample use HTML5 file API, review and upload</p>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="files">Filename:</label>
<input type="file" id="files" name="files[]" multiple />
<br/>
<input type="submit" name="submit" value="Submit">
</form>
<output id="list"></output>
<script>
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), '"/>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
</body>
</html>