Задать вопрос
@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 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
1. Используйте FileReader для полного контроля содержимого предоставляемых файлов;
2. Предупреждайте об невалидности файлов пользователя в процессе включения их в форму;
3. Не включайте из FileReader невалидные файлы в выборку данных для отправки по ajax.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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