Как пройти каждый файл в папке при загрузке через drag-n-drop - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь загрузить файлы с помощью перетаскивания в приложении реагирования

ПОДРОБНОЕ СОБЫТИЕ

onDrop(event) {
   event.preventDefault();
   event.stopPropagation();
   if (this.props.disabled) return;

   const items = event.dataTransfer.items; 
   /* ONLY RETURNS Array(1) i.e just the name of the directory, does not return the files inside */

   if (this.props.onFilesAdded) {
        //how to traverse items here
   }
   this.setState({ hightlight: false });
}

ВХОДНОЙ ТЕГ

<input
    ref={this.fileInputRef}
    className="FileInput"
    type="file"
    directory="true"
    webkitdirectory="true"
    mozdirectory="true"
    onChange={this.onFilesAdded}
/>
const length = event.dataTransfer.files.length;
console.log(length);
if (this.props.onFilesAdded) {
   for (var i = 0; i < length; i++) {
   var file = event.dataTransfer.files[i];
}

Эта консоль регистрирует 1, что неверно

Пробовал то, что здесь дано: https://wiki.whatwg.org/wiki/DragAndDropEntries

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

...