File API
by giacal
HTML
<form method="post" enctype="multipart/form-data">
<input type="file" name="docs" multiple="multiple"><br/>
<strong>File selezionati:</strong>
<ul>
</ul>
<input type="submit">
</form>
JavaScript
// esempio di stampa:
// registrazione.png - 959Kb - image/png
var file = document.forms[0].docs,
ul = document.querySelector('ul');
file.addEventListener('change', printFiles, false);
function printFiles(evt){
var fl = evt.target.files,
msg = "";
ul.innerHTML = "";
for(var x=0; x < fl.length; x ++){
var fli = fl.item(x);
ul.insertAdjacentHTML('beforeend', "<li>" + fli.name + " " + Math.round(fli.size/1000) + "kB " + fli.type);
if(fli.size > 100){
msg = msg + " file:" + fli.name + "(" + fli.size +"B)\n";
}
}
if(msg!=""){
evt.target.setCustomValidity("Alcuni file superano la dimensione prevista\n" + msg);
}
}