Bueno, esto es vergonzoso ... Encontré la solución que estaba buscando y no podría ser más simple. Usé el siguiente código para obtener el resultado deseado. Espero que esto ayude a alguien en el futuro. Gracias a todos por su ayuda.
<input id="fileSelect" type="file" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />
Tipos de aceptación válidos:
Para archivos CSV (.csv), use:
<input type="file" accept=".csv" />
Para los archivos de Excel 97-2003 (.xls), use:
<input type="file" accept="application/vnd.ms-excel" />
Para archivos Excel 2007+ (.xlsx), use:
<input type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
Para archivos de texto (.txt) use:
<input type="file" accept="text/plain" />
Para archivos de imagen (.png / .jpg / etc), use:
<input type="file" accept="image/*" />
Para archivos HTML (.htm, .html), use:
<input type="file" accept="text/html" />
Para archivos de video (.avi, .mpg, .mpeg, .mp4), use:
<input type="file" accept="video/*" />
Para archivos de audio (.mp3, .wav, etc.), use:
<input type="file" accept="audio/*" />
Para archivos PDF , use:
<input type="file" accept=".pdf" />
DEMO:
http://jsfiddle.net/dirtyd77/LzLcZ/144/
NOTA:
Si está intentando mostrar archivos CSV de Excel ( .csv
), NO use:
text/csv
application/csv
text/comma-separated-values
( funciona solo en Opera ).
Si está intentando mostrar un tipo de archivo en particular (por ejemplo, a WAV
o PDF
), esto casi siempre funcionará ...
<input type="file" accept=".FILETYPE" />