繁体   English   中英

如何获得文件阅读器的结果

[英]How to get results of File reader

所以我的 html 中有一个 onchange 事件,它从用户那里获取图像,需要将其转换为数据 url 以便通过 socket.io 发送并存储在数据库中。 如何获得文件阅读器 object 的结果。 我不知道如何传入回调

我需要做的是将 function 回调到文件读取器 onload 事件中,以便我可以将图片变量设置为数据 url 然后通过套接字发送。 只需要帮助从文件阅读器获取结果到我的全局变量// HTML

<input type = 'file' (change) = "setpreview($event)" value = 'upload photo'>

// js代码。

setpreview(event) {
  var img = <File>event.target.files[0];
  var reader = new FileReader();
  reader.onload = function() {
    console.log(reader.result);
  }

  reader.readAsDataURL(img);
}

你得到它只是将结果分配给一个作用域变量并在模板中使用它

srcImg = null; //declare this

setpreview(event) {
  const comp = this;
  const img = <File>event.target.files[0];
  const promise = new Promise((resolve) => {
    const reader = new FileReader();
    reader.onload = function () {
      resolve(reader.result);
    }
    reader.readAsDataURL(img);
  });

  promise.then(img => {
    comp.srcImg = img;
    // if you want to do anything with img you can do it here
  });
}
<input type = 'file' (change) = "setpreview($event)" value = 'upload photo'>
<img [src]="srcImg" *ngIf="srcImg" />

更新 Stackblitz: https://stackblitz.com/edit/angular-tkbbdh

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM