filtrar archivos cuando uso el input="file"

Ana
31 de Enero del 2004
quiero hacer un upload de archivos .txt o .csv y cuando abre el explorador me trae la lista de todos los archivos, yo quiero que solo se visualicen aquellos con estensión .txt o .csv ¿se puede?

scriptman
31 de Enero del 2004
Se supone, que existe un atributo llamado accept, que se pone dentro del input file, en el cual especificas el tipo MIME del conetenido a enviar, ejemplo:

<input type="file" Accept="image/gif">

Deberia de mostrar solo archivos ".gif", pero en algunos navegadores, como IE 6, no lo hace, muestra "Todos los archivos *.* "

Lo que deberias de hacer, es un validador del lado del cliente con js y otro mas del lado del servidor, en php asp o lo que uses.

ejemplo del js:
<script> var noEs; </script>
<INPUT TYPE="file" Accept="image/gif" onchange="var fileExt=this.value.substring((this.value.length-3),this.value.length);if(fileExt!='txt'||fileExt!='cvs'){ alert('Archivo no aceptado, elija un TXT o CVS '); noEs=1 }">

y en la form, <form ...bla blal.. onsubmit="if(noEs) return false" >


Saludos, scriptman.
.::Apoya el software libre::.