Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

429
Visualizações
La propiedad 'archivos' no existe en el tipo de error 'EventTarget' en mecanografiado

Estoy tratando de acceder al valor del archivo de entrada desde mi aplicación ionic 2, pero todavía me enfrento al problema de que los archivos de propiedades no existen en el tipo 'EventTarget'. Como funciona correctamente en js pero no en mecanografiado. El código se da a continuación:

 document.getElementById("customimage").onchange= function(e?) { var files: any = e.target.files[0]; EXIF.getData(e.target.files[0], function() { alert(EXIF.getTag(this,"GPSLatitude")); }); }

Ayúdenme a resolver este problema, ya que no está construyendo mi aplicación ionic 2.

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puedes lanzarlo como HTMLInputElement :

 document.getElementById("customimage").onchange = function(e: Event) { let file = (<HTMLInputElement>e.target).files[0]; // rest of your code... }

Actualizar:

También puedes usar esto:

 let file = (e.target as HTMLInputElement).files[0];
about 4 years ago · Santiago Trujillo Relatório

0

El tipo de propiedad e.target depende del elemento que está devolviendo en getElementById(...) . files es una propiedad del elemento de input : https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement

En este caso, el compilador de TypeScript no sabe que está devolviendo un elemento de input y no tenemos una clase de Event específica para esto. Entonces, puedes crear uno como el siguiente código:

 interface HTMLInputEvent extends Event { target: HTMLInputElement & EventTarget; } document.getElementById("customimage").onchange = function(e?: HTMLInputEvent) { let files: any = e.target.files[0]; //... }
about 4 years ago · Santiago Trujillo Relatório

0

Esto son más líneas, pero creo que es lo más claro.

 const onChange = (event: Event) => { const target= event.target as HTMLInputElement; const file: File = (target.files as FileList)[0]; /** do something with the file **/ };

Actualización de 2022: algunas personas han señalado correctamente que los dos moldes en la segunda línea son innecesarios, esto es totalmente correcto y revisé mi respuesta.

 const onChange = (event: React.ChangeEvent) => { const target= event.target as HTMLInputElement; const file = target.files[0]; /** do something with the file **/ };
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda