Cómo restringir el tipo de archivo en el control FileUpload

¿Es posible permitir que el control de carga de archivos muestre solo imágenes?

Cuando hacemos clic en el botón Examinar, debe mostrar solo las imágenes.

No, en la web no se puede desde el lado del cliente, evidentemente desde el lado del servidor se pueden hacer cosas increíbles. Para este tipo de cosas, los progtwigdores normalmente usan Activex, flash o similares.

En 2015, los navegadores web admiten el atributo de entrada de aceptación , por lo que puede hacer esto:

 

No encontré una solución directa para este problema.

Esta es mi solución mediante el uso del RegularExpressionValidator:

    

No puede restringir estrictamente el tipo de archivo, pero si el navegador lo admite puede hacer que muestre inicialmente solo un cierto tipo de archivo:

 
 //VALIDATE FILE EXTENTION var _validFileFlag; function fValidFileExt(vfilePath){ var vFileName=vfilePath.split('\\').pop(); var vFileExt=vfileName.split('.').pop(); if(vFileExt.toUpperCase()=="JPEG" || vFileExt.toUpperCase()=="JPG"){ _validFileFlag = true; } _validFileFlag = false; }  

Marque ‘_validFileFlag’ mientras guarda datos / carga ..

Suponiendo que solo quiere cargar imágenes.

Puede verificar la propiedad ContentType del archivo (es decir, imagen / gif).

Eche un vistazo aquí para ver un ejemplo: http://www.15seconds.com/issue/061116.htm

Con plain , me temo que no es posible en el lado del cliente.

Sin embargo, algunos cargadores de terceros como SWFUpload proporcionan esta funcionalidad.

Utilice el atributo accept para mostrar solo imágenes en el explorador de archivos como se muestra a continuación:

  

con asp.nets RegularExpressionValidator para validar el tipo de archivo seleccionado con un mensaje de validación.