2011-01-08 272 views
29

De forma predeterminada, puede seleccionar todo tipo de archivos, cómo restringirlo para que solo pueda seleccionar archivos .pdf?Cómo restringir <input type = "file"> para que solo pueda seleccionar archivos .pdf?

+0

posible duplicado de [campo de entrada de archivo HTML con los tipos de archivos limitados?] (Http://stackoverflow.com/questions/1240934/html-file-input-field- with-limited-file-types) – marcog

+0

De parte del cliente esto no es posible AFAIK. Deberá verificar @ lado del servidor qué exactamente el usuario decidió publicar. – ChristopheD

+0

Verifique también [Atributo "accept" de entrada de archivo - ¿es útil?] (Http://stackoverflow.com/questions/181214/) para soluciones provisionales. –

Respuesta

27

Puede usar el atributo accept en su formulario para sugerir al navegador que restrinja ciertos tipos. Sin embargo, querrás volver a validar tu código del lado del servidor para asegurarte. Nunca confíes en lo que el cliente te envía.

1

En pocas palabras: no se puede usar el html simple y javascript. Lo más cercano que puede obtener es probar la extensión del archivo usando javascript antes de enviar el formulario y mostrar algún mensaje de error al usuario si es distinto de .pdf. Es posible que necesite utilizar alguna solución del lado del cliente, como los controles de carga de Flash, si desea lograr esto.

+0

No puede usar JavaScript para soltar el archivo en función de su extensión? –

+0

@ Šime Vidas, sí, javascript podría usarse para probar la extensión del archivo seleccionado. –

71

más explícita ...

<input type="file" accept="application/pdf" /> 
+0

¿Por qué esto NO funciona cuando la PC no tiene Adobe Reader instalado? Me sucedió hoy ... –

Cuestiones relacionadas