File

Sumário

A interface File provê informações sobre arquivos e permite ao JavaScript  a acessar seu conteúdo.

São geralmente recuperados a partir de um objeto FileList que é retornado como resultado da seleção, pelo usuário, de arquivos através do elemento <input>, a partir do objeto DataTransfer utilizado em operações de arrastar e soltar, ou a partir da API mozGetAsFile() em um HTMLCanvasElement. Em Gecko, códigos com privilégiios podem criar objetos File representando qualquer arquivo local sem a intereção do usuário (veja Implementation notes para mais informações.)

Um objeto File é um tipo específico de  Blob, e podem ser utilizados em qualquer contexto que um Blob pode. Em particular, FileReader, URL.createObjectURL(), createImageBitmap() (en-US), e XMLHttpRequest.send() aceitam ambos, Blobs e Files.

Veja Using files from web applications (usando arquivos através de uma aplicação web) para mais informações e exemplos.

A referência ao arquivo pode ser salva quando o formulário é submetido enquanto o usuário está offline, de forma que os dados possam ser recuperados e enviados quando a conexão com a internet for reestabelecida,

Propriedades

File.lastModifiedDate (en-US) Somente leitura
A Data da última modificação do arquivo referenciado pelo objeto File.
File.name (en-US) Somente leitura
O nome do arquivo referenciado pelo objeto File.
File.fileName (en-US) This API has not been standardized. Somente leitura Obsolete since Gecko 7.0
O nome do arquivo referenciado pelo objeto File.
File.fileSize (en-US) This API has not been standardized. Somente leitura Obsolete since Gecko 7.0
O tamanho do arquivo referenciado, em bytes.

A interface File herda as propriedades da interface Blob.

{{page("/en-US/docs/Web/API/Blob","Properties")}}

Métodos

File.getAsBinary() (en-US) This API has not been standardized. Obsolete since Gecko 7.0
Retorna uma string contendo os dados do arquivo em formato binário.
File.getAsDataURL() (en-US) This API has not been standardized. Obsolete since Gecko 7.0
Uma string contendo os dados do arquivo codificados como data: URL.
File.getAsText(string encoding) (en-US) This API has not been standardized. Obsolete since Gecko 7.0
Retorna o conteúdo do arquivo como uma string em que os dados do arquivo são interpretados como texto, usando a codificação passada por parâmetro.

Especificações

Especificação Status Comentários
File API Rascunho atual Definição Inicial.

Compatibilidade com os Navegadores

Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar! (en-US)
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Suporte básico 13 3.0 (1.9) (non standard)
7 (7) (standard)
10.0 16.0 6.0
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Suporte básico Não suportado 25 Não suportado 11.1 6.0

Notas de Implementação

Notas no Gecko

  • No Gecko, você pode utilizar esta API a partir de um código do chrome. Veja Using the DOM File API in chrome code para mais detalhes.
  • A partir do Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3), códigos com privilégios (como extensões) podem passar um objeto nsIFile para o construtor do DOM File para especificar a referência para o arquivo.
  • A partir do Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5), você pode usar new File para criar objetos File de código de componentes XPCOM ao invés de precisar instanciaro objeto nsIDOMFile direamente. O construtor recebe, em contraste com o Blob,  o nome do arquivo como segundo argumento. O nome do arquivo pode ser qualquer string.
    File File(
      Array parts,
      String nomedoarquivo,
      BlobPropertyBag propriedades
    );

Veja também