Получить имя из представленной папки - PullRequest
1 голос
/ 01 октября 2019

При использовании этого ввода:

<input type="file" id="file" (change)="useFiles($event)" webkitdirectory directory multiple/>

Я получаю массив объектов со всеми файлами в папке.

С помощью FileReader я могу читать содержимое и имена файлов:

  public readFolder(files: any[]) {
    this.fileCache = [];
    this.readFile(0, files);
    return this.folderReader$.asObservable();
  }

  private readFile(index, files) {
    const reader = new FileReader();
    if (index >= files.length) {
      this.folderReader$.next(this.fileCache);
      return;
    }
    const file = files[index];
    const filename = file.name;
    reader.onload = (e: any) => {
      this.fileCache.push({
        name: filename,
        content: e.target.result});
      this.readFile(index + 1, files);
    };
    reader.readAsText(file);
  }
}

Теперь, есть ли возможность получить имя папки с помощью этого FileReader? что было бы простым способом получить имя папки из ввода?

Я не ищу, как получить путь к файлам, а как узнать имя папки, которую я отправляю для ввода.

1 Ответ

2 голосов
/ 01 октября 2019

Если вы получили весь filePath, вы можете использовать API пути Node.js с базовым именем функция:

var path = require('path');
path.basename(path.dirname(filename));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...