Как работать с дополнительным добавлением файлов через input (multiple)?

Имеется форма, в которой вводятся Имя, Фамилия и несколько фото (multiple).
Через input добавляю например 2 фото, затем хочу добавить еще 1. Но при добавлении последнего, у меня теряются предыдущие 2.

Как сделать обработчик, чтобы решить этот вопрос?
Доп. нюанс: Если файл не соответствует размеру или типу, то он отображается ниже кнопки input, но перечеркнут. При этом его можно удалить (это я потом сам сделаю).

<form action="" method="post" enctype="multipart/form-data" name="anketa">
    <input type="file" name="images[]" multiple id="imageUploader">
    <input type="text" name="name" placeholder="Имя" id="name">
    <input type="text" name="lastname" placeholder="Фамилия" id="lastname">
    <input type="submit">
</form>
<script>
    const imageUploader = document.getElementById("imageUploader");
    let imageArrAll = []; // Все загруженные файлы, в том не подходящие по типу или размеру
    let imageArrFilter = []; // Отфильтрованные файлы

    imageUploader.addEventListener('change', (e) => {
        сonst files = e.target.files;
        // Здесь нужно:
        // 1. Объединить добавленные файлы с уже имеющими в массиве (без дублей), и записать в массив imageArrAll
        // 2. Проверить все файлы на соответствие типу и размеру, и записать их в массив imageArrFilter
        // 3. Изменить массив в форме в форме images[] на файлы из п.2. 
    });
</script>
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы