Desafortunadamente, no existe una forma garantizada de hacerlo en el momento de la selección.
Algunos navegadores admiten el accept
atributo para input
etiquetas. Este es un buen comienzo, pero no se puede confiar completamente en él.
<input type="file" name="pic" id="pic" accept="image/gif, image/jpeg" />
Puede utilizar ay cfinput
ejecutar una validación para comprobar la extensión del archivo en el momento del envío, pero no el tipo mime. Esto es mejor, pero aún no infalible. Los archivos en OSX a menudo no tienen extensiones de archivo o los usuarios podrían etiquetar incorrectamente los tipos de archivo de forma maliciosa.
ColdFusion cffile
puede verificar el tipo de mime usando la contentType
propiedad del resultado ( cffile.contentType
), pero eso solo se puede hacer después de la carga. Esta es su mejor opción, pero aún no es 100% segura ya que los mimos podrían estar equivocados.