FileReader

O objeto FileReader permite que aplicativos da web leiam de forma assíncrona o conteúdo de arquivos (ou buffers de dados brutos) armazenados no computador do usuário, usando File ou Blob objetos para especificar o arquivo ou dados a serem lidos.

Objetos de arquivo podem ser obtidos de um objeto FileList retornado como resultado de um usuário selecionar arquivos usando o elemento <input> ou de uma operação de arrastar e soltar DataTransfer objeto.

O FileReader só pode acessar o conteúdo dos arquivos que o usuário selecionou explicitamente, usando um elemento HTML <input type="file"> ou arrastando e soltando. Ele não pode ser usado para ler um arquivo por nome de caminho do sistema de arquivos do usuário. Para ler arquivos no sistema de arquivos do cliente por nome de caminho, use a API de acesso ao sistema de arquivos (en-US). Para ler arquivos do lado do servidor, use soluções Ajax padrão, com permissão CORS se estiver lendo entre domínios.

Note: This feature is available in Web Workers

EventTarget FileReader

Construtor

FileReader()

Retorna um FileReader recém-construído.

Consulte Usando arquivos de aplicativos da Web (en-US) para obter detalhes e exemplos.

Propriedades da instância

FileReader.error (en-US) Somente leitura

Um DOMException (en-US) representando o erro que ocorreu durante a leitura do arquivo.

FileReader.readyState (en-US) Somente leitura

Um número que indica o estado do FileReader. Este é um dos seguintes:

Nome Valor Descrição
EMPTY 0 Nenhum dado foi carregado ainda.
LOADING 1 Os dados estão sendo carregados no momento.
'DONE' 2 Toda a solicitação de leitura foi concluída.
FileReader.result (en-US) Somente leitura

o conteúdo do arquivo. Esta propriedade só é válida após a conclusão da operação de leitura, e o formato dos dados depende de qual dos métodos foi utilizado para iniciar a operação de leitura.

Métodos de instância

FileReader.abort() (en-US)

Aborta a operação de leitura. Ao retornar, o readyState será DONE.

FileReader.readAsArrayBuffer()

Inicia a leitura do conteúdo do Blob especificado, uma vez finalizado, o atributo result contém um ArrayBuffer representando os dados do arquivo.

FileReader.readAsBinaryString()

Inicia a leitura do conteúdo do Blob especificado, uma vez concluído, o atributo result contém os dados binários brutos do arquivo como uma string.

FileReader.readAsDataURL()

Inicia a leitura do conteúdo do Blob especificado, uma vez finalizado, o atributo result contém uma URL data: representando os dados do arquivo.

FileReader.readAsText()

Inicia a leitura do conteúdo do Blob especificado, uma vez terminado, o atributo result contém o conteúdo do arquivo como uma string de texto. Um nome de codificação opcional pode ser especificado.

Eventos

Ouça esses eventos usando addEventListener() ou atribuindo um ouvinte de eventos à propriedade oneventname desta interface. Remova os ouvintes de eventos com removeEventListener(), uma vez que FileReader não seja mais usado, para evitar vazamentos de memória.

abort (en-US)

Acionado quando uma leitura foi abortada, por exemplo, porque o programa chamou FileReader.abort() (en-US).

error (en-US)

Acionado quando a leitura falhou devido a um erro.

load

Disparado quando uma leitura foi concluída com sucesso.

loadend (en-US)

Acionado quando uma leitura foi concluída, com sucesso ou não.

loadstart (en-US)

Disparado quando uma leitura é iniciada.

progress (en-US)

Acionado periodicamente à medida que os dados são lidos.

Especificações

Specification
File API
# APIASynch

Compatibilidade do navegador

BCD tables only load in the browser

Veja também

Resumo

O objeto FileReader permite aplicações web ler assincronamente o conteúdo dos arquivos (ou buffers de dados puros) do computador do usuário, utilizando o objeto File ou Blob para especificar o arquivo ou os dados a serem lidos.

Objetos File podem ser obtidos a partir de um objeto FileList retornado como resultado da seleção de um usuário utilizando um elemento <input>, a partir de uma operação de drag and drop DataTransfer, ou a partir de um mozGetAsFile() da api HTMLCanvasElement (en-US).

Construtor

FileReader FileReader();

Veja Using files from web applications para detalhes e exemplos.

Propriedades

FileReader.error (en-US) Somente leitura

Um DOMError (en-US) representa o erro que ocorreu durante a leitura do arquivo.

FileReader.readyState (en-US) Somente leitura

Um número indicando o estado do FileReader. Este poderá ser um dos seguintes estados State constants.

FileReader.result (en-US) Somente leitura

O conteúdo do arquivo. Esta propriedade é válida apenas após a operação de leitura estar completa, e o formato dos dados dependem de qual método foi usado para iniciar a operação de leitura.

Manipuladores de eventos

FileReader.onabort (en-US)

Um manipulador para o evento abort (en-US). Este evento é chamado cada vez que a operação de leitura é abortada.

FileReader.onerror (en-US)

Um manipulador para o evento error (en-US). Este evento é chamado cada vez que a operação de leitura encontra um erro.

FileReader.onload

Um manipulador para o evento load (en-US). Este evento é chamado cada vez que a operação de leitura é completada com sucesso.

FileReader.onloadstart

Um manipulador para o evento loadstart (en-US). Este evento é chamado cada vez que a leitura começa.

FileReader.onloadend

Um manipulador para o evento loadend (en-US). Este evento é chamado cada vez que a operação de leitura é completada (tanto em caso de sucesso quanto de erro).

FileReader.onprogress

Um manipulador para o evento progress (en-US). Este evento é chamado durante a leitura do conteúdo de Blob.

Nota: Nota: O FileReader herda de EventTarget, todos estes eventos podem ser listados usando o método addEventListener.

Constantes de estado

  • EMPTY: 0 : Nenhum dado foi carregado ainda.
  • LOADING: 1 : Os dados estão sendo carregados.
  • DONE: 2 : Toda a requisição de leitura foi completada.

Métodos

FileReader.abort() (en-US)

Aborta a operação de leitura. O retorno, no readyState será DONE.

FileReader.readAsArrayBuffer()

Inicia a leitura do conteúdo do Blob espeficado, uma vez finalizado, o atributo result conterá um ArrayBuffer representando os dados do arquivo.

FileReader.readAsBinaryString()

Inicia a leitura do conteúdo do Blob especificado, uma vez finalizado, o atributo result conterá os dados raw binários do arquivo como string.

FileReader.readAsDataURL()

Inicia a leitura do conteúdo do Blob especificado, uma vez finalizado, o atributo result conterá um data: URL representando os dados do arquivo.

FileReader.readAsText()

Inicia a leitura do conteúdo do Blob especificado, uma vez finalizado, o atributo result conterá o conteúdo do arquivo como string de texto.

Especificações

Specification
File API
# APIASynch

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também