下面是一个示例解决方案,展示了如何使用Angular的FileReader服务将文件夹中的文件存储在数组中。
import { Component } from '@angular/core';
import { FileReader } from '@angular/core';
@Component({
selector: 'app-file-upload',
templateUrl: './file-upload.component.html',
styleUrls: ['./file-upload.component.css']
})
export class FileUploadComponent {
selectedFiles: File[] = [];
constructor(private fileReader: FileReader) { }
onFileChange(event): void {
const files: FileList = event.target.files;
if (files.length > 0) {
for (let i = 0; i < files.length; i++) {
this.selectedFiles.push(files[i]);
}
}
}
upload(): void {
for (let i = 0; i < this.selectedFiles.length; i++) {
const fileReader = new FileReader();
fileReader.onload = (e) => {
const fileContents = fileReader.result;
console.log(fileContents);
};
fileReader.readAsText(this.selectedFiles[i]);
}
}
}
使用上述代码,当用户选择一个或多个文件后,文件将添加到selectedFiles
数组中。然后,通过循环遍历该数组,使用FileReader服务将每个文件的内容读取为文本,并将结果打印到控制台上。你可以根据你的需求修改upload()
方法,以便对文件内容进行其他操作。