【问题标题】:Get name from submitted Folder从提交的文件夹中获取名称
【发布时间】:2020-01-30 18:16:49
【问题描述】:

使用此输入时:

<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 获取文件夹的名称?从输入中获取文件夹名称的简单方法是什么?

我不是在搜索如何获取文件的路径,而是如何获取我提交输入的文件夹的名称。

【问题讨论】:

标签: angular filereader


【解决方案1】:

如果你得到整个文件路径,你可以使用Node.js path APIbasename 函数:

var path = require('path');
path.basename(path.dirname(filename));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2020-12-09
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2018-07-03
    相关资源
    最近更新 更多