К сожалению, во время выбора нет гарантированного способа сделать это.
Некоторые браузеры поддерживают accept
атрибут для input
тегов. Это хорошее начало, но нельзя полностью полагаться на него.
<input type="file" name="pic" id="pic" accept="image/gif, image/jpeg" />
Вы можете использовать cfinput
и запустить проверку, чтобы проверить расширение файла при отправке, но не mime-тип. Это лучше, но все же не надежно. Файлы в OSX часто не имеют расширений, иначе пользователи могут злонамеренно пометить типы файлов.
ColdFusion cffile
может проверить mime-тип, используя contentType
свойство result ( cffile.contentType
), но это можно сделать только после загрузки. Это ваш лучший выбор, но он все же не на 100% безопасен, так как mime-типы могут ошибаться.