1
resposta

Dúvida sobre FileReader

Isso ocorreu na aula e agora nesse trecho de código - COMO o FileReader sabe que ele tem que ler o arquivo file? Quando isso foi passado a ele?!

1 resposta

Oi, Mauricio!

Isso acontece por meio do método readAsDataURL(file) que é chamado na instância do FileReader.

Vamos desmembrar o processo:

Captura do arquivo: Quando a pessoa usuária seleciona um arquivo através do elemento <input type="file">, um evento change é disparado. Nesse evento, você pode acessar o arquivo selecionado através de event.target.files[0]. Esse é o momento em que você "pega" o arquivo que o usuário escolheu.

Instância do FileReader: Você cria uma nova instância do FileReader com const reader = new FileReader();. Essa instância é o que você vai usar para ler o conteúdo do arquivo.

Método de leitura: O método reader.readAsDataURL(file) é chamado, passando o arquivo que você capturou como argumento. É nesse momento que você está dizendo explicitamente ao FileReader qual arquivo ele deve ler. O método readAsDataURL lê o arquivo e o converte em uma URL de dados (Data URL), que pode ser usada diretamente como fonte de imagens em HTML.

Evento onload: Você define uma função para reader.onload, que será executada quando a leitura do arquivo for concluída. Dentro dessa função, você pode acessar o resultado da leitura através de e.target.result e usá-lo, por exemplo, para atualizar a fonte de uma imagem para pré-visualização.

Espero ter ajudado.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

bons estudos