Un oggetto di tipo File eredita da Blob e lo estende con funzionalità legate al filesystem.
Ci sono due modi per costruirlo.
Il primo, utilizzando il costruttore, molto simile a Blob:
new File(fileParts, fileName, [options])
fileParts, è un array di valori di tipo Blob/BufferSource/String.fileName– il nome del file.options, oggetto opzionale:lastModified, il timestamp dell’ultima modifica (un intero).
Il secondo modo si applica quando otteniamo un file tramite <input type="file">, con il drag’n’drop o con altre interfacce browser. In questo caso, il file prende le informazioni dal sistema operativo.
Poiché File eredita da Blob, gli oggetti di tipo File possiedono le stesse proprietà, con l’aggiunta di:
name, il nome del file,lastModified, il timestamp dell’ultima modifica.
Vediamo come ottenere un oggetto File tramite <input type="file">:
<input type="file" onchange="showFile(this)">
<script>
function showFile(input) {
let file = input.files[0];
alert(`File name: ${file.name}`); // e.g my.png
alert(`Last modified: ${file.lastModified}`); // e.g 1552830408824
}
</script>
Da notare: