У меня есть функция, которая проверяет тип файла. На этот раз я хочу проверить правильность файла и достаточный размер файла. Если расширение файла правильное, но размер файла превышает 10 МБ, тогда он должен выбросить alert();
в блоке условия else if()
. Вместо этого оно пропускается.
Я тестирую его с файлом .mov размером 37,3 МБ
Что я делаю не так?
function fileValidationWinnerPhoto() {
const realFileBtn = document.getElementById("real-file");
let filePath = realFileBtn.value;
let maxSize = 10485760;
// Allowing file type
let allowedExtensions = /(\.jpg|\.jpeg|\.png|\.bmp|\.mov|\.MOV)$/i;
if (!allowedExtensions.exec(filePath)) {
alert('Invalid file type');
realFileBtn.value = '';
return false;
} else if(allowedExtensions.exec(filePath) && realFileBtn.files[0].size > maxSize) {
alert("You have the correct file type but your uploaded file is too large! Try uploading a file that's less than 10MB!");
return false;
} else {
console.log("file accepted");
fileAcceptedFlag = true;
}
return filePath;
}