以角度预览所选图像

时间:2018-12-05 07:31:40

标签: angular

我需要以角度6预览选定的文件。因此,我使用了以下代码。但是有一些错误。这是我的实现:

export class AppComponent {
  title = 'imgpreview';

  url = '';
  onSelectFile(event) {
    if (event.target.files && event.target.files[0]) {
      var reader = new FileReader();

      reader.readAsDataURL(event.target.files[0]); // read file as data url

      reader.onload = (event) => { // called once readAsDataURL is completed
        this.url = event.target.result;
      }
    }
  }
}

我得到的错误:

  

src / app / app.component.ts(19,33)中的错误是错误:错误TS2339:类型'EventTarget'上不存在属性'结果'。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

指定事件类型,如下所示:

reader.onload = (event: any) => { ... }

尝试一下:

import { Component } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'imgpreview';

  url = '';
  onSelectFile(event) {
    if (event.target.files && event.target.files[0]) {
      var reader = new FileReader();

      reader.readAsDataURL(event.target.files[0]); // read file as data url

      reader.onload = (event: any) => { // called once readAsDataURL is completed
        console.log(event);
        this.url = event.target.result;
      }
    }
  }
}

这是您推荐的Working Sample StackBlitz