jQuery: ottenere le dimensioni di un file scelto per l'upload

Con jQuery possiamo validare la dimensione di un file scelto per l'upload.

La soluzione è la seguente:


var getFileSize = function( nBytes ) {
    var nApprox = nBytes / 1024;
    var sOutput = nApprox.toFixed( 2 );
    return parseFloat( sOutput );
};

var $input = $( "#upload" );

$input.on( "change", function() {
    var file = $input[0].files[0];
    if( getFileSize( file.size ) > 1000 ) {
        // Errore: massimo 1 Mb
    }
});

Questa soluzione non può sostituire la validazione lato server. Tuttavia grazie alle API HTML5 possiamo leggere la dimensione in byte di un file in tempo reale.