MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

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.

Construtor

FileReader FileReader();

Veja Using files from web applications para detalhes e exemplos.

Propriedades

FileReader.error Somente leitura
Um DOMError representa o erro que ocorreu durante a leitura do arquivo.
FileReader.readyState Somente leitura
Um número indicando o estado do FileReader. Este será o um do State constants.
FileReader.result 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
Um manipulador para o evento abort. Este evento é chamado cada vez que a operação de leitura é abortada.
FileReader.onerror
Um manipulador para o evento error. Este evento é chamado cada vez que a operação de leitura encontra um erro.
FileReader.onload
Um manipulador para o evento load. Este evento é chamado cada vez que a operação de leitura é completada com sucesso.
FileReader.onloadstart
Um manipulador para o evento loadstart. Este evento é chamado cada vez que a leitura começa.
FileReader.onloadend
Um manipulador para o evento loadend. 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. Este evento é chamado durante a leitura do conteúdo de Blob.

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()
Abora 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

Especificação Status Comentário
File API
The definition of 'FileReader' in that specification.
Working Draft Definição inicial.

Compatibilidade

Feature Firefox (Gecko) Chrome Internet Explorer* Opera* Safari
Basic support 3.6 (1.9.2) 7 10 12.02 6.0.2
Feature Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
Basic support 32 3 10 11.5 6.1

Notas de implementações

Notas específicas para Gecko

  • Prior to Gecko 2.0 beta 7 (Firefox 4.0 beta 7), all Blob parameters below were File parameters; this has since been updated to match the specification correctly.
  • Prior to Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) the FileReader.error property returned a FileError object. This interface has been removed and FileReader.error is now returning the DOMError object as defined in the latest FileAPI draft.

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: belsanpesou, rafaelcalpena, teoli, wbruno
 Última atualização por: belsanpesou,