Control file size - jQuery plugin

Controllo completo sulla dimensione dei file in upload, lato client. Supporto per gli input "multiple" dell'HTML5.

In questo esempio:

Seleziona più files: Seleziona un altro file:

Risultato...



Istruzioni

HTML

Nella sezione head del documento aggiungiamo il link allo script base:


<head>
	...
	<script src="JS/cfl.2.0.min.js"></script>
	...
</head>
	

Script

L'oggetto new CFL() dev'essere inizializzato quando il documento è caricato. Prende in input i parametri sotto elencati, tutti opzionali:


$(function(){
	//F is the <form> vanilla html element
	//f is the <input type="file"> vanilla html element
	//mega is the size triggering the error
	cflform = new CFL({
		forms :           '.checkme',                      //selector for forms. default = ""
		files :           '.checkme',                      //selector for file input. default = ""
		before :          function(F){ /*...*/ },          //callback before checking a form 
		onsubmit :        function(F){ /*...*/ },          //callback if the form can be submitted
		onerror :         function(F){ /*...*/ },          //callback if the form cannot be submitted
		//-------------------------------------------------------------------------------------------
		checkForm:        true,                            //enable onerrorForm(). default = true
		maxFormMB:        1.5,                             //max Mb sended by a single form. default = 2
		onerrorForm:      function(f,mega){ /*...*/ },     //callback if the sum of file exceed size limit maxFormMB
		//---
		checkMultFiles:   true,                            //enable onerrorMultFiles(). default = true
		maxMultFileMB:    1,                               //max Mb for single file input with "multiple" attribute. default = 1
		onerrorMultFiles: function(f,mega){ /*...*/ },     //callback if the multiple input exceed size limit maxMultFileMB
		//---
		checkFiles:       true,                            //enable onerrorFiles(). default = true
		maxFileMB:        0.25,                            //max Mb for each file. default = 1
		onerrorFiles:     function(f,name,mega){/*...*/}   //callback if a file size is bigger than maxFileMB
	});
});
	

Tutti i callback sono a cura del programmatore.
Un esempio del loro utilizzo si trova in questa pagina (ispeziona con strumento sviluppatori).