FileReader.readystate停留在1. Onload未被触发

问题描述 投票:1回答:1

我是angular7中的新手,我只是试图从html文件中的输入类型文件中获取数据。我没有得到它。我得到了文件的名称和不同规格,但没有正确的数据。

关键是readystate没有变为2,所以结果属性永远不会填充它,我不能得到数据。

据我所知:

TS

onChange(event) {
  if (event.target.files && event.target.files.length > 0) {
    const file = event.target.files[0];
    const reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = this.saveImage(reader, event);
  }
}

private saveImage (reader: FileReader, ev: ProgressEvent): any {
  this.userInfo.Imagen = (reader.result as string).split(',')[1];
  this.converted_image = this.domSanitizer.bypassSecurityTrustResourceUrl(this.base64 + this.userInfo.Imagen);
  return null;
}

HTML

<input id="file-input" type="file" capture style="display:none" #fileInput (change)="onChange($event)"/>

但我完全没有恢复任何数据。

谢谢你的队友。

angular angular7 filereader onload readystate
1个回答
-1
投票

最后......很奇怪,并希望这个答案可以帮助你们所有人,或者至少可以给你一个关于这种情况的线索。

当事件与IDE的调试器命令或断点发生冲突(实际上是调试器命令)时,Chrome版本(73到75)(固定在其中)会出现问题。

解决方案是在引发和启动事件及其事件方法的循环中消除任何调试器命令。

© www.soinside.com 2019 - 2024. All rights reserved.