如何将“带有文件对象的patchValue修复到formControl”

时间:2019-03-25 19:11:48

标签: angular angular-reactive-forms

我在打字稿中有两种方法:

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);
  }

0 个答案:

没有答案