Desafortunadamente, no existe una forma garantizada de hacerlo en el momento de la selección.
Algunos navegadores admiten el acceptatributo para inputetiquetas. 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 cfinputejecutar 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 cffilepuede verificar el tipo de mime usando la contentTypepropiedad 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.