Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Property 'files' does not exist on type 'EventTarget' - Solução

Para quem não está conseguindo pegar o valor com este código aqui:

<input
  formControlName="file"
  type="file"
  accept="image/*"
  (change)="file = $event.target?.files[0]"
 />

Segue no próximo comentário uma alternativa.

1 resposta
solução!

Para resolver esse problema o nosso HTML ficará assim:

photo-form.component.html

<input
    formControlName="file"
    type="file"
    accept="image/*"
    (change)="onChange($event.target)"
>

Agora no nosso componente vamos criar essa função onChange:

photo-form.component.ts

  onChange(target : any) {
    if(target instanceof EventTarget) {
      let element = target as HTMLInputElement;
      let files = element.files
      if (files) {
        this.file = files[0]
      }
    }
  }

E está pronto!