Postoji accept atribut, koji sluzi za ogranicavanje tipova fajlova koji mogu da se koriste:
Code:
<input type="file" accept="image/gif">
<input type="file" accept="text/*">
Jedini problem je sto ovo ne radi u vecini browsera, odnosno oni jednostavno ignorisu ovu opciju.
Moze da se pre submita proveri ekstenzija fajla:
Code:
<script type="text/javascript">
var allowed = new Array('pdf', 'doc');
function check_type() {
var filename = document.forms.imeforma.imefajla.value;
var ext = filename.substr(filename.lastIndexOf('.') + 1).toLowerCase();
for (var i = 0; i < allowed.length; i++) {
if (allowed[i] == ext) {
return true;
}
}
alert('Ne moze.');
return false;
}
</script>
...
<form name="imeforma" method="POST" enctype="multipart/form-data" onsubmit="return check_type()">
<input type="file" name="imefajla"><br>
<input type="submit">
</form>
Stim sto cela provera na strani klijenta ima smisla samo utoliko da bude "user-friendly" i upozori korisnika sta bi trebao da radi. Stvarnu proveru tipa (i ostalih parametara) uploadovanog fajla treba raditi na serveru.
Never trust an operating system you don't have sources for.