从提交的文件夹中获取名称
Get name from submitted Folder
使用此输入时:
<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 获取文件夹的名称?从输入中获取文件夹名称的简单方法是什么?
我不是在搜索如何获取文件的路径,而是在搜索如何获取我提交以供输入的文件夹的名称。
如果您获得了整个文件路径,您可以使用 Node.js path API with basename 函数:
var path = require('path');
path.basename(path.dirname(filename));
使用此输入时:
<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 获取文件夹的名称?从输入中获取文件夹名称的简单方法是什么?
我不是在搜索如何获取文件的路径,而是在搜索如何获取我提交以供输入的文件夹的名称。
如果您获得了整个文件路径,您可以使用 Node.js path API with basename 函数:
var path = require('path');
path.basename(path.dirname(filename));