---
title: FileReader
slug: Web/API/FileReader
translation_of: Web/API/FileReader
---
{{ APIRef("File API")}}
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 {{ domxref("File") }} ou {{ domxref("Blob") }} para especificar o arquivo ou os dados a serem lidos.
Objetos File podem ser obtidos a partir de um objeto {{ domxref("FileList") }} retornado como resultado da seleção de um usuário utilizando um elemento {{ HTMLElement("input") }}, a partir de uma operação de drag and drop DataTransfer
, ou a partir de um mozGetAsFile()
da api {{ domxref("HTMLCanvasElement") }}.
Construtor
FileReader FileReader();
Veja Using files from web applications para detalhes e exemplos.
Propriedades
- {{domxref("FileReader.error")}} {{readonlyinline}}
- Um {{domxref("DOMError")}} representa o erro que ocorreu durante a leitura do arquivo.
- {{domxref("FileReader.readyState")}} {{readonlyinline}}
- Um número indicando o estado do
FileReader
. Este poderá ser um dos seguintes estados {{ anch("State constants") }}.
- {{domxref("FileReader.result")}} {{readonlyinline}}
- 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
- {{domxref("FileReader.onabort")}}
- Um manipulador para o evento {{event("abort")}}. Este evento é chamado cada vez que a operação de leitura é abortada.
- {{domxref("FileReader.onerror")}}
- Um manipulador para o evento {{event("error")}}. Este evento é chamado cada vez que a operação de leitura encontra um erro.
- {{domxref("FileReader.onload")}}
- Um manipulador para o evento {{event("load")}}. Este evento é chamado cada vez que a operação de leitura é completada com sucesso.
- {{domxref("FileReader.onloadstart")}}
- Um manipulador para o evento {{event("loadstart")}}. Este evento é chamado cada vez que a leitura começa.
- {{domxref("FileReader.onloadend")}}
- Um manipulador para o evento {{event("loadend")}}. Este evento é chamado cada vez que a operação de leitura é completada (tanto em caso de sucesso quanto de erro).
- {{domxref("FileReader.onprogress")}}
- Um manipulador para o evento {{event("progress")}}. Este evento é chamado durante a leitura do conteúdo de {{domxref("Blob")}}.
Nota: O FileReader
herda de {{domxref("EventTarget")}}, todos estes eventos podem ser listados usando o método {{domxref("EventTarget.addEventListener()","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
- {{domxref("FileReader.abort()")}}
- Aborta a operação de leitura. O retorno, no
readyState
será DONE
.
- {{domxref("FileReader.readAsArrayBuffer()")}} {{ gecko_minversion_inline("7.0") }}
- Inicia a leitura do conteúdo do {{ domxref("Blob") }} espeficado, uma vez finalizado, o atributo
result
conterá um {{domxref("ArrayBuffer")}} representando os dados do arquivo.
- {{domxref("FileReader.readAsBinaryString()")}}
- Inicia a leitura do conteúdo do {{ domxref("Blob") }} especificado, uma vez finalizado, o atributo
result
conterá os dados raw binários do arquivo como string.
- {{domxref("FileReader.readAsDataURL()")}}
- Inicia a leitura do conteúdo do {{ domxref("Blob") }} especificado, uma vez finalizado, o atributo
result
conterá um data:
URL representando os dados do arquivo.
- {{domxref("FileReader.readAsText()")}}
- Inicia a leitura do conteúdo do {{ domxref("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 |
{{SpecName('File API','#FileReader-interface','FileReader')}} |
{{Spec2('File API')}} |
Definição inicial. |
Compatibilidade
{{ CompatibilityTable() }}
Feature |
Firefox (Gecko) |
Chrome |
Internet Explorer* |
Opera* |
Safari |
Basic support |
{{ CompatGeckoDesktop("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
- Em versões anteriores ao Gecko 2.0 beta 7 (Firefox 4.0 beta 7), todos os parâmetros {{ domxref("Blob") }} abaixo eram parâmetros {{ domxref("File") }}. Isto foi então atualizado para adequarem-se corretamente às especificações.
- Em versões anteriores ao Gecko 13.0 {{ geckoRelease("13.0") }}, a propriedade
FileReader.error
retornava um objeto {{ domxref("FileError") }}. Esta interface foi removida e a propriedade FileReader.error
agora retorna o objeto {{ domxref("DOMError") }}, assim como está definido na última versão da FileAPI.
Veja também