[英]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.