Necesito cargar solo el archivo de imagen a través de la <input type="file">
etiqueta.
En este momento, acepta todos los tipos de archivos. Pero, quiero restringirlo solo a extensiones de archivo de imagen específicas que incluyen .jpg
, .gif
etc.
¿Cómo puedo lograr esta funcionalidad?
Respuestas:
Use el atributo accept de la etiqueta de entrada. Entonces, para aceptar solo PNG, JPEG y GIF, puede usar el siguiente código:
O simplemente:
Tenga en cuenta que esto solo proporciona una pista al navegador sobre qué tipos de archivos mostrar al usuario, pero esto se puede eludir fácilmente, por lo que siempre debe validar el archivo cargado en el servidor también.
Debería funcionar en IE 10+, Chrome, Firefox, Safari 6+, Opera 15+, pero el soporte es muy incompleto en los móviles (a partir de 2015) y, según algunos informes, esto puede evitar que algunos navegadores móviles carguen algo, así que asegúrese de probar bien sus plataformas de destino.
Para obtener asistencia detallada sobre el navegador, consulte http://caniuse.com/#feat=input-file-accept
fuente
accept="file/csv, file/xls"
es válido?image/x-png
? Según esta lista, es justoimage/png
. iana.org/assignments/media-types/media-types.xhtmlUsando esto:
Funciona tanto en FF como en Chrome.
fuente
Úselo así
Funciono para mi
https://jsfiddle.net/ermagrawal/5u4ftp3k/
fuente
Pasos:
1. Agregue el atributo de aceptación a la etiqueta de entrada
2. Valide con javascript
3. Agregue la validación del lado del servidor para verificar si el contenido es realmente un tipo de archivo esperado
Para HTML y JavaScript:
Explicación:
fuente
Esto se puede lograr mediante
Pero esta no es una buena manera. tienes que codificar en el lado del servidor para verificar que el archivo sea una imagen o no.
Compruebe si el archivo de imagen es una imagen real o una imagen falsa
Para más referencia, ver aquí
http://www.w3schools.com/tags/att_input_accept.asp
http://www.w3schools.com/php/php_file_upload.asp
fuente
puede usar el
accept
atributo para<input type="file">
leer estos documentos http://www.w3schools.com/tags/att_input_accept.aspfuente
Usando type = "file" y accept = "image / *" (o el formato que desee), permita al usuario elegir un archivo con un formato específico. Pero debe volver a verificarlo en el lado del cliente, porque el usuario puede seleccionar otro tipo de archivos. Esto funciona para mi.
Y luego, en tu script javascript
fuente
const file: File = imageInput.files[0];
:? Además, la asignación de id a la entrada no se realiza de manera convencional.Si desea cargar varias imágenes a la vez, puede agregar un
multiple
atributo a la entrada.fuente