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

146
Visualizações
¿Cómo recuperar las dimensiones de la imagen después de cargar usando readAsDataURL?

Estoy tratando de crear una función de vista previa de imagen muy simple que permita a los usuarios elegir un archivo de imagen local y mostrarlo en el navegador del cliente. Luego, quiero recuperar y mostrar la dimensión de la imagen (alto, ancho) y no puedo hacerlo.

Intento n.º 1 Después de llamar a readAsDataURL , intenté recuperar las dimensiones de la imagen inmediatamente, pero fallé porque la imagen no parece mostrarse en la pantalla antes de poder leer las dimensiones.

Intento n.º 2 Por lo tanto, intenté usar Promises para hacer que la secuencia de llamadas a funciones fuera sincrónica. Tenía la esperanza de leer las dimensiones de la imagen después de que se representa en la pantalla. Desafortunadamente, todavía no tiene éxito.

Cualquier ayuda será apreciada. Literalmente, puede copiar y pegar el código siguiente en un archivo HTML y ver cómo funciona. Gracias.

 <script> var loadFile = function(event) { var promise = fileReader(event.target.files[0]); promise.then( () => { var userUploadedImage = document.getElementById('userUploadedImage'); console.log('Image width:' + userUploadedImage.width); // problem: always appearing 0 console.log('Image height:' + userUploadedImage.height); // problem: appearing 0 } ); }; function fileReader(file){ return new Promise((resolve, reject) => { var reader = new FileReader(); reader.onload = function(){ var userUploadedImage = document.getElementById('userUploadedImage'); userUploadedImage.src = reader.result; }; reader.onerror = reject; reader.readAsDataURL(file); resolve(); }); } </script> <input type="file" accept="image/*" onchange="loadFile(event)"> <img id="userUploadedImage"/>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Está llamando a resolve demasiado pronto, sin esperar a que se cargue la imagen.

Debe llamarse dentro de la devolución de llamada .onload .

about 4 years ago · Juan Pablo Isaza 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