Quiero que mi uploader sólo permite a estos tipos:

  • doc, docx.
  • xls, xlsx.
  • ppt, pptx.
  • txt.
  • pdf.
  • Tipos de imagen.

¿Cómo puedo lograr esto? ¿Qué debo poner en el accept atributo? Gracias por tu ayuda.

EDITAR!!!

Tengo una cosa más que pedir. Cuando la ventana emergente aparecerá para elegir archivo, en la esquina derecha, hay una lista desplegable que contiene todos los archivos. En mi caso, la lista sería larga. Veo en la lista, hay una opción llamada All Supported Types. ¿Cómo puedo hacer que sea elegido por defecto y eliminar todas las otras opciones?

Cualquier ayuda será apreciada. Gracias.

  • Ayudará esto? stackoverflow.com/questions/11601342/…. No estoy seguro si «application/doc», «application/pdf» y «aplicación/ppt» tipos mime son compatibles.
  • Posibles duplicados de Límite formato de archivo cuando se utiliza <input type=»file»>?
  • Respecto a la 2ª pregunta: «El aceptar atributo no validar los tipos de archivos seleccionados; simplemente proporciona sugerencias para los navegadores para guiar a los usuarios hacia la selección de la correcta tipos de archivo. Todavía es posible (en la mayoría de los casos) para que los usuarios activar una opción en el selector de archivos que hace que sea posible anular esta y seleccione un archivo que desee y, a continuación, elija archivo incorrecto tipos. Debido a esto, usted debe asegurarse de que el aceptar atributo está respaldada por una adecuada validación del lado del servidor.» developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file
InformationsquelleAutor Triet Doan | 2013-06-25

7 Comentarios

  1. 103

    El valor de la aceptar, el atributo es, como por HTML5 LC, una lista separada por comas de los elementos, cada uno de los cuales es un determinado tipo de medios como image/gif, o una notación como image/* que se refiere a todos los image tipos, o una extensión de nombre de archivo como .gif. Es decir, 10+ y Chrome apoyo a todas estas, mientras que Firefox no soporta las extensiones. Por lo tanto, la manera más segura es utilizar tipos de medios y notaciones como image/*, en este caso

    <input type="file" name="foo" accept=
    "application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint,
    text/plain, application/pdf, image/*">

    si entiendo las intenciones correctamente. Ten en cuenta que los navegadores pueden no reconocer el tipo de medios de nombres exactamente como se especifica en el registro acreditado, por lo que algunos es necesaria la prueba.

    • Esto no funcionará si su archivo doc hecho con software de ubuntu.
    • K. Korpela que filtro me pone todos los archivos de office que quiero,gracias
    • Para agregar el soporte para archivos docx, xlsx y pptx: application/vnd.openxmlformats-officedocument.wordprocessingml.el documento, application/vnd.openxmlformats-officedocument.spreadsheetml.hoja, application/vnd.openxmlformats-officedocument.presentationml.presentación de diapositivas
    • Tal vez era cierto en el 2014, cuando esta respuesta fue dada, pero puedo confirmar que una lista separada por comas de las extensiones está funcionando correctamente en Firefox.
    • no funciona cuando intento cargar desde android/ios dispositivo. Si alguien tiene una solución que me haga saber.
  2. 68

    Uso, Como el de abajo

    <input type="file" accept=".xlsx,.xls,image/*,.doc, .docx,.ppt, .pptx,.txt,.pdf" />
    • Los navegadores no suelen comprobar el contenido del archivo, por lo que la extensión está bien – incluso preferidas, ya que los navegadores no se conocen todos los tipos mime.. Usted tiene que comprobar el contenido de los archivos usted mismo.
  3. 10

    Utilice aceptar atributo con el MIME_type como valores

    <input type="file" accept="image/gif, image/jpeg" />
    • El código solo acepta archivos GIF y JPEG, como opuesto a lo solicitado en la pregunta.
    • Esto es sólo el código de ejemplo y puede establecer el accept atributo con el MIME_types como valores
    • Esto todavía presenta un «Todos los Archivos» opción.
  4. 6

    para powerpoint y archivos pdf:

    <html>
    <input type="file" placeholder="Do you have a .ppt?" name="pptfile" id="pptfile" accept="application/pdf,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.slideshow,application/vnd.openxmlformats-officedocument.presentationml.presentation"/>
    </html>
  5. 6

    ACTUALIZACIÓN IMPORTANTE:

    Debido al uso de sólo application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint… permite sólo hasta 2003, productos de MS, y no la más reciente. He encontrado esto:

    application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.slideshow, application/vnd.openxmlformats-officedocument.presentationml.presentation

    Y que incluye los nuevos. Para otros archivos, puede recuperar el TIPO MIME en el archivo de esta manera (perdón por el lang)(en MIME tipos de lista, no hay gente):

    Cómo hacer <input type=

    Puede seleccionar & copiar el tipo de contenido

  6. 3

    Como declaró en w3schools:

    de audio/* – Todos los archivos de sonido se aceptan

    video/* – Todos los archivos de vídeo se aceptan

    imagen/* – Todos los archivos de imagen se aceptan

    MIME_type – válido de Un tipo MIME, sin parámetros. Mira la IANA MIME
    tipos para una completa lista de los tipos MIME

    • w3schools FTL = Para la Suelta
  7. 0

    para la imagen de la escritura de este

    <input type=file accept="image/*">

    Para otros,
    Usted puede utilizar el aceptar atributo en el formulario para sugerir al navegador para restringir ciertos tipos. Sin embargo, usted querrá volver a validar en el código del lado del servidor para asegurarse de que. Nunca confíes en lo que el cliente le envía

    • El código solo acepta archivos de imagen, como opuesto a lo solicitado en la pregunta.

Dejar respuesta

Please enter your comment!
Please enter your name here