2012-01-23 22 views
8

Estoy escribiendo una aplicación web asp.net que implica el uso del control FileUpload.Extensión del archivo de filtro Con FileUpload

En este momento, este control particular FileUpload solo espera tipos de archivo .zip o .gz. Si se carga un tipo de archivo incorrecto, se muestra un mensaje de error al usuario. Esta funcionalidad ya está implementada.

Lo que quiero hacer es filtrar los tipos de archivos visibles que el usuario ve cuando hace clic en "navegar".

Es posible que haya visto un cuadro de diálogo de apertura de archivo similar al siguiente.
enter image description here

He hecho un círculo alrededor del área que representa el filtro de extensión de archivo.

Esta es una característica tan común que esperaba que estuviera integrada en el control FileUpload actual, pero después de algunas búsquedas en línea, he encontrado algunas publicaciones que dicen que no se puede hacer.

Esas publicaciones fueron de 2009, hace más de 2 años.

Ahora, mi pregunta es: ¿el Asp.Net 4.0 actual admite esta función ?, y si no es así, ¿conoce alguna solución simple para obtener la funcionalidad que yo quiero?

Me gustaría volver a señalar que soy capaz de validar si el usuario elige o no un tipo de archivo admitido. Todo lo que estoy buscando es un cambio cosmético, que filtrará los tipos de archivos innecesarios en el cuadro de diálogo Abrir archivo.

+0

esto está disponible para aplicaciones de escritorio, ¡pero no para aplicaciones web todavía! –

+0

La respuesta aceptada en el llamado "duplicado" parece que valida, pero no filtra. –

+1

Acepto que la respuesta en el duplicado no es lo que estás buscando. – Jon

Respuesta

5

Creo que no es posible. Filtros por tipo de archivo en el navegador no es el control de asp.net.Es una funcionalidad del navegador.

Esta cuestión ya planteada en stackoverflow.Please clic filter the file type with the file upload control

+0

Vi eso, pero Microsoft lanzó .Net Framework 4.0. Algunas semanas después de que se hizo la pregunta, y después de que se publicaron la mayoría de las respuestas. –

+0

Esta respuesta a continuación funciona para un subconjunto de navegadores: https://stackoverflow.com/a/23589176/12601 – Greg

0

puede crear validar la extensión del archivo de control de ASP.NET FileUpload

Creo que podría ir por esta solución

Validate File Extension for ASP.NET FileUpload Control

+0

En dos lugares de mi pregunta, he mencionado que ya puedo hacer ese tipo de validación. Esa no es la funcionalidad que estoy preguntando sobre –

5

para seleccionar imágenes en el control fileupload ..

esperemos que le ayudará a

asp:RegularExpressionValidator ID="rexp" runat="server" ControlToValidate="fupProduct" 
    ErrorMessage="Only .gif, .jpg, .png, .tiff and .jpeg" 
    ValidationExpression="(.*\.([Gg][Ii][Ff])|.*\.([Jj][Pp][Gg])|.*\.([Bb][Mm][Pp])|.*\.([pP][nN][gG])|.*\.([tT][iI][iI][fF])$)"></asp:RegularExpressionValidator 
12

Puede probar el código de abajo.

<asp:FileUpload ID="UploadFile" accept="image/*" multiple="false" runat="server" BorderStyle="None" /> 

Funciona con navegadores modernos.

No olvide validar las extensiones utilizando el código detrás de los procedimientos.

Cuestiones relacionadas