Удалить заданный индекс входных файлов по событию клика - PullRequest
0 голосов
/ 10 сентября 2018

Здесь у меня есть входной файл, который принимает несколько файлов. Теперь я хочу удалить элемент индекса 2 из входного файла. Вот мой HTML и JS код. Здесь я получаю JS Error. Ваши трюки были бы драгоценными.

HTML

<input type="file" multiple id="uploadFile" />
<button type="button" id="removeFile">
  Remove one file
</button>

JAVASCRIPT

  let uploadFile=document.getElementById("uploadFile");
        let removeFile=document.getElementById("removeFile");
        uploadFile.addEventListener("change",function(event){
          console.log(event.currentTarget.files);
        })
        removeFile.addEventListener("click",function(event){
            let uploadFile=document.getElementById("uploadFile");
            let files=uploadFile.files[0];
            uploadFile.files.slice(1,1);
            console.log(uploadFile.files);
        })

1 Ответ

0 голосов
/ 10 сентября 2018

Свойство files input[type=file] имеет тип FileList, а не массив, поэтому для начала не существует метода среза.

https://developer.mozilla.org/en-US/docs/Web/API/FileList

но ничто не мешает вам сначала скопировать файлы в массив

var files = [].slice.call(uploadFile.files)
console.log(files.slice(1,1))
// or directly
var files = [].slice.call(uploadFile.files,1,1)
files.splice(0,1); // remove the first file, you can also use files.shift()
console.log(files)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...