我在打字稿中有两种方法:
onImagePicked(event: Event)
和onImagePicked1(event: Event, flav: AbstractControl)
第一种方法可以正常工作。在那里我可以上传图片。 第二个不起作用,因为不可能将文件对象存储到想要的formControl对象中。 认真地说,我可以将一个随机字符串而不是fileobject存储到该formControl对象,但是为什么不存储文件?
也许与formControl对象有所不同,但是我在浏览器控制台中看不到任何区别...
onImagePicked(event: Event) {
const file = (event.target as HTMLInputElement).files[0];
this.newFlavForm.patchValue({imgUrl: file});
this.newFlavForm.get('imgUrl').updateValueAndValidity();
const reader = new FileReader();
reader.onload = () => {
this.imgPreview = <string>reader.result;
};
reader.readAsDataURL(file);
}
onImagePicked1(event: Event, flav: AbstractControl) {
const file = (event.target as HTMLInputElement).files[0];
flav.patchValue({imgUrl: file});
flav.get('imgUrl').updateValueAndValidity();
const reader = new FileReader();
reader.onload = () => {
this.imgPreview = <string>reader.result;
};
reader.readAsDataURL(file);
}