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()
, 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
Somente leitura- A Data da última modificação do arquivo referenciado pelo objeto
File
. File.name
Somente leitura- O nome do arquivo referenciado pelo objeto
File
. File.fileName
Somente leitura Obsolete since Gecko 7.0- O nome do arquivo referenciado pelo objeto
File
. File.fileSize
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()
Obsolete since Gecko 7.0- Retorna uma string contendo os dados do arquivo em formato binário.
File.getAsDataURL()
Obsolete since Gecko 7.0- Uma string contendo os dados do arquivo codificados como
data:
URL. File.getAsText(string encoding)
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
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 DOMFile
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 objetonsIDOMFile
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 );