Задать вопрос
@Dreaded

Как удалить невалидные загружаемые файлы из формы на стороне клиента?

Имеется форма вида :
<input type="file" name="files[]" id="someId" multiple>

Пользователь загружает в форму файлы, и дальше я обрабатываю это событие примерно следующим образом:
$('#someId').change(function() {
var userFiles = this.files;
for(var i = 0; i < userFiles.length; i++) {
    if (userFiles[i]['size'] > 3145728) {
        userFiles.splice(i, 1);
    } else if (userFiles[i][type] != 'image/gif' || 'image/jpeg' || 'image/pjpeg' || 'image/png' || 'application/pdf' || 'text/plain') {
        userFiles.splice(i, 1);
    }
});

userFiles.splice(i, 1); к сожалению не работает. Как можно удалить из формы невалидные файлы(и сообщить об этом пользователю), что бы не загружать их лишний раз на сервер? Может быть есть другой более эффективный способ? Запрос отправляется ajax'ом
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
1. Используйте FileReader для полного контроля содержимого предоставляемых файлов;
2. Предупреждайте об невалидности файлов пользователя в процессе включения их в форму;
3. Не включайте из FileReader невалидные файлы в выборку данных для отправки по ajax.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы