Если на сайте есть форма загрузки файлов, то должна быть валидация загружаемого файла. Пользователь должен сразу знать подходит ли его файл для загрузки или нет.
Из возможных ограничений может быть тип файла и размер. В статье приведен пример как сделать обе проверки.
В html форме находится загрузка файла:
<input type="file" name="file" id="file">
Необходимо делать проверку типа и размера файла сразу после выбора в окне файлов. Делается это с помощью js/jq скрипта:
$('#file').bind('change', function() {
var size = this.files[0].size; // размер в байтах
var name = this.files[0].name;if(5000000<size){
// файл больше 5 мегабайт
}
var fileExtension = ['doc', 'docx', 'pdf']; // допустимые типы файлов
if ($.inArray(name.split('.').pop().toLowerCase(), fileExtension) == -1) {// у файла неверный тип
}
});
В приведённом примере поставлены условия на действие при размере файла больше 5 мегабайт и типе файла не doc, docx, pdf.
Зачем это нужно
Пользователи будут благодарны за интерактивную подсказку во время заполнения формы.
Подобная проверка не отменяет проверку файла на уровне сервера. Она нужна исключительно для комфорта пользователей и никак не обезопасит сайт от загрузки вредоносного файла.