Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Удаление файлов из FileList (https://javascript.ru/forum/dom-window/78582-udalenie-fajjlov-iz-filelist.html)

romveld 07.10.2019 17:39

Удаление файлов из FileList
 
Ребята, привет! Подскажите, есть ли возможность удалять поштучно файлы из объекта FileList. У меня один мультифайловый input:

<input type="file" id="files" name="files[]" multiple="multiple" class="atached-file">


Он может передавать несколько файлов сразу. Они передаются в переменную следующим образом:

var files = evt.target.files;


Можно ли как-нибудь выборочно удалять файлы, собирающиеся в этой переменной?

Заранее спасибо!

Rise 07.10.2019 18:09

Из FileList не удалить, но сами элементы File из FileList можно сохранить, например, в массив: var fileArray = [].slice.call(evt.target.files).

Malleys 07.10.2019 23:59

Цитата:

Сообщение от Rise
[].slice.call

Зачем заводить пустой массив, если он не используется? Возможные решения проблемы... var files = Array.from(evt.target.files); var files = [...evt.target.files]; Но действительно ли нужно заводить отдельный массив, если список файлов так и так является перечислимым?

Цитата:

Сообщение от romveld
Можно ли как-нибудь выборочно удалять файлы, собирающиеся в этой переменной?

Нет, поскольку эта переменная представляет список файлов у поля ввода, который может изменять пользователь. Этот список представляет те файлы, которые выбрал пользователь. Пользователь меняет такой список, выбирая файлы. После того, как пользователь выбрал новые файлы, значением свойства files будет новый список файлов. Вам ничего вручную удалять не надо, наоборот, если вы хотите хранить историю, т. е. файлы, которые выбирал пользователь, вам нужно завести массив для хранения списков файлов.


Часовой пояс GMT +3, время: 18:53.