如何获取文件 reader 的结果
How to get results of File reader
所以我的 html 中有一个 onchange 事件,它从用户那里获取图像并需要将其转换为数据 url 以便发送 socket.io 并存储在数据库中。如何获取文件 reader 对象的结果。不知道怎么传回调
我需要做的是在文件 reader onload 事件中获取一个回调函数,这样我就可以将我的图片变量设置为数据 url,然后通过套接字发送。只需要帮助从文件 reader 获取结果到我的全局变量
// 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
所以我的 html 中有一个 onchange 事件,它从用户那里获取图像并需要将其转换为数据 url 以便发送 socket.io 并存储在数据库中。如何获取文件 reader 对象的结果。不知道怎么传回调
我需要做的是在文件 reader onload 事件中获取一个回调函数,这样我就可以将我的图片变量设置为数据 url,然后通过套接字发送。只需要帮助从文件 reader 获取结果到我的全局变量 // 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