无法读取 Angular 中的 JSON 文件

Can't read JSON file in Angular

我想从文件系统中读取一个 JSON 文件,但我不能让它工作。

我发现这个解决方案似乎是我需要的:

但是我得到两个错误:

参数 'event' 在 uploadFile(event) {

上隐式具有 'any' 类型

对象可能是 'null' console.log(reader.result.toString());

这是我的代码:

component.html:

 <form name="JSONform" (ngSubmit)="fJSON.form.valid && decryptJSON()" #fJSON="ngForm" novalidate>
        <input type="file" name="files" (change)="uploadFile($event)" />
        <div class="buttons">
            <div class="decrypt">
                <button class="btn btn-primary" type="submit">Decrypt</button>
            </div>
        </div>
    </form>

component.ts:

 uploadFile(event) {
    if (event.target.files.length !== 1) {
      console.error('No file selected');
    } else {
      const reader = new FileReader();
      reader.onloadend = (e) => {
        console.log(reader.result.toString());
        // handle data processing
      };
      reader.readAsText(event.target.files[0]);
    }
  }

我不知道我错过了什么。 提前谢谢你。

你没有遗漏任何东西。这些错误是 TSLINT 或 TypeScript 错误。只需检查一下:

// Tell TS that you mean it as any (or you can find the actual event d.ts
// Use the ? operator to check for nulls (or do an if( reader.result != null)
// before calling toString()
uploadFile(event: any) {
    if (event.target.files.length !== 1) {
      console.error('No file selected');
    } else {
      const reader = new FileReader();
      reader.onloadend = (e) => {
        console.log(reader.result?.toString());
        // handle data processing
      };
      reader.readAsText(event.target.files[0]);
    }
  }