Возникла такая проблема, которую не могу решить самостоятельно. Суть проблемы вот в чем:
Есть input file, в котором пользователи могут выбрать несколько файлов. Как только пользователь выбирает файлы, в jquery срабатывает событие change, и специальном div сверху отображаются имена всех выбранных файлов. Рядом с каждым именем есть кнопка "Удалить". Необходимо сделать по нажатию на кнопку "Удалить" функцию, которая бы удаляла конкретный файл из числа выбранных, и, соответственно, меняла бы значение input file.
После события change у input есть свойство files, где лежат все файлы которым пользователь разрешил доступ. Это массив. Вы можете его править, удаляя соответствующие файлы.
Вынужден тебя разочаровать, на нативный api работы с файлами на данный момент оставляет желать лучшего. Я уже пробовал написать кастомный multiple, но, к сожалению, у объекта file до сих пор отсутствуют append и remove. А существующие данные объекта read only. Вполне логично делать таким только size, type и modifyed, но там всё... печально. Их количество можно только пересчитывать и удалять все разом. Как и добавлять все разом https://developer.mozilla.org/en-US/docs/Web/API/File
Аякс спасет отца Русской демократии. Переносите все файлы из инпута в свой массив, в котором вы можете манипулировать данными, в отличие от file input, который readonly. Дальше FormData в помощь.