FileReader.readystate 停留在 1。未触发 Onload
FileReader.readystate stuck at 1. Onload is not fired
我是 angular7 的新手,我只是想从 html 文件[=34= 中的输入类型文件中获取数据].我不明白。我得到了文件的名称和不同的规格,但没有得到它的正确数据。
关键是 readystate 没有变成 2,所以 result 属性 从来没有填充它,我无法得到数据如此。
据我所知:
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)"/>
但是我根本没有恢复任何数据。
谢谢朋友们。
最后...很奇怪,希望这个答案对大家有所帮助,或者至少能为您提供有关这种情况的线索。
Chrome版本,从73到75(固定在里面)当一个事件与调试器命令或断点发生冲突IDE(调试器命令 事实上)。
解决方案只是在引发和启动事件及其事件方法的循环中消除任何调试器命令。
我是 angular7 的新手,我只是想从 html 文件[=34= 中的输入类型文件中获取数据].我不明白。我得到了文件的名称和不同的规格,但没有得到它的正确数据。
关键是 readystate 没有变成 2,所以 result 属性 从来没有填充它,我无法得到数据如此。
据我所知:
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)"/>
但是我根本没有恢复任何数据。
谢谢朋友们。
最后...很奇怪,希望这个答案对大家有所帮助,或者至少能为您提供有关这种情况的线索。
Chrome版本,从73到75(固定在里面)当一个事件与调试器命令或断点发生冲突IDE(调试器命令 事实上)。
解决方案只是在引发和启动事件及其事件方法的循环中消除任何调试器命令。