Neste artigo você vai aprender a como exibir miniatura de imagem enviada em formulário, para que o usuário veja um preview da imagem inserida

Exibir miniatura de imagem enviada em formulário capa

Conteúdo também disponível em vídeo:

Fala programador(a), beleza? Bora aprender mais sobre JavaScript e também upload de imagens!

E você deve estar se perguntando, por que JavaScript? Qual a sua relação com a imagem enviada?

Vamos fazer a exibição via evento de JavaScript, desta forma podemos mostrar ao usuário qual imagem ele está enviando para o servidor sem que a página recarregue

Para isso vamos precisar de uma estrutura considerável, veja o HTML:

<form action="">
  <input type="file" id="image" name="image">
  <div>
    <input type="submit" value="Enviar">
  </div>
</form>
<img src="" alt="" id="preview-image">

Aqui criamos um pequeno formulário apenas com os campos necessários para o exemplo

O seu pode ser maior, não terá influência no restante do código

Por fim adicionamos um elemento de imagem sem src, que é onde a nossa miniatura será encaixada após o evento de inserção no formulário

Agora vamos ao código JavaScript necessário:

const input = document.querySelector('#image');

input.addEventListener('change', function(e) {

	const tgt = e.target || window.event.srcElement;
  
  const files = tgt.files;

  const fr = new FileReader();
  
  fr.onload = function () {
    document.querySelector('#preview-image').src = fr.result;
  }
  
  fr.readAsDataURL(files[0]);

});

Aqui temos bastante coisa acontecendo ao mesmo tempo

Primeiramente inserimos o input de imagem em uma variável, o que torna possível criar um evento no elemento

E então adicionamos um evento change, que é ativado quando o usuário insere uma imagem no input

No evento encapsulamos os arquivos na variável files, e também inicializamos FileReader, uma biblioteca do próprio JavaScript para tratar arquivos

Por fim, substituímos o src da nossa tag de img, que até então está vazio, por o resultado da imagem enviada

Exibindo assim o preview da imagem no nosso HTML, sendo possível o visitante do nosso site checar qual imagem está enviando no formulário

Conclusão

Neste artigo aprendemos a como exibir miniatura de imagem enviada em formulário

Utilizamos um evento no input do formulário, para poder saber a hora que o usuário está enviando a imagem

Depois no evento lemos a imagem através do FileReader, e exibimos na nossa tag de imagem no HTML base

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments