1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
---
title: File
slug: Web/API/File
tags:
- API
- Arquivos
- DOM
- Files
- Referencia
translation_of: Web/API/File
---
<div>{{gecko_minversion_header("1.9")}}</div>
<div>{{APIRef("File API")}}</div>
<h2 id="Sumário">Sumário</h2>
<p>A interface <code>File</code> provê informações sobre arquivos e permite ao JavaScript a acessar seu conteúdo.</p>
<p>São geralmente recuperados a partir de um objeto {{domxref("FileList")}} que é retornado como resultado da seleção, pelo usuário, de arquivos através do elemento <span style="font-family: 'Courier New','Andale Mono',monospace; line-height: 1.5;">{{ HTMLElement("input") }}</span><span style="line-height: 1.5;">, a partir do objeto {{domxref("DataTransfer")}} </span><span style="line-height: 1.5;">utilizado em operações de arrastar e soltar</span><span style="line-height: 1.5;">,</span><span style="line-height: 1.5;"> ou a partir da API </span><code style="font-style: normal; line-height: 1.5;">mozGetAsFile()</code><span style="line-height: 1.5;"> em um {{ domxref("HTMLCanvasElement") }}. Em Gecko, códigos com privilégiios podem criar objetos File representando qualquer arquivo local sem a intereção do usuário </span>(veja {{anch("Implementation notes")}} para mais informações.)</p>
<p>Um objeto File é um tipo específico de {{domxref("Blob")}}, e podem ser utilizados em qualquer contexto que um Blob pode. Em particular, {{domxref("FileReader")}}, {{domxref("URL.createObjectURL()")}}, {{domxref("ImageBitmapFactories.createImageBitmap()", "createImageBitmap()")}}, e {{domxref("XMLHttpRequest", "", "send()")}} aceitam ambos, Blobs e Files.</p>
<p>Veja <a href="https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications">Using files from web applications</a> (usando arquivos através de uma aplicação web) para mais informações e exemplos.</p>
<p>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,</p>
<p><strong style="font-size: 2.142857142857143rem; font-weight: 700; letter-spacing: -1px; line-height: 30px;">Propriedades</strong></p>
<dl>
<dt>{{domxref("File.lastModifiedDate")}} {{readonlyinline}} {{gecko_minversion_inline("15.0")}}</dt>
<dd>A <font face="Consolas, Liberation Mono, Courier, monospace">Data</font> da última modificação do arquivo referenciado pelo objeto <code>File</code>.</dd>
<dt>{{domxref("File.name")}} {{readonlyinline}} {{gecko_minversion_inline("1.9.2")}}</dt>
<dd>O nome do arquivo referenciado pelo objeto <code>File</code>.</dd>
<dt>{{domxref("File.fileName")}} {{non-standard_inline}} {{readonlyinline}} {{obsolete_inline("7.0")}}</dt>
<dd>O nome do arquivo referenciado pelo objeto <code style="font-style: normal;">File</code>.</dd>
<dt>{{domxref("File.fileSize")}} {{non-standard_inline}} {{readonlyinline}} {{obsolete_inline("7.0")}}</dt>
<dd>O tamanho do arquivo referenciado, em bytes.</dd>
</dl>
<p>A interface <code>File</code> herda as propriedades da interface {{domxref("Blob")}}.</p>
<p>{{page("/en-US/docs/Web/API/Blob","Properties")}}</p>
<h2 id="Method_overview" name="Method_overview">Métodos</h2>
<dl>
<dt>{{domxref("File.getAsBinary()")}} {{non-standard_inline}} {{obsolete_inline("7.0")}}</dt>
<dd>Retorna uma string contendo os dados do arquivo em formato binário.</dd>
<dt>{{domxref("File.getAsDataURL()")}} {{non-standard_inline}} {{obsolete_inline("7.0")}}</dt>
<dd>Uma string contendo os dados do arquivo codificados como <code>data:</code> URL.</dd>
<dt>{{domxref("File.getAsText()","File.getAsText(string encoding)")}} {{non-standard_inline}} {{obsolete_inline("7.0")}}</dt>
<dd>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.</dd>
</dl>
<h2 id="Browser_Compatibility" name="Browser_Compatibility">Especificações</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Especificação</th>
<th scope="col">Status</th>
<th scope="col">Comentários</th>
</tr>
<tr>
<td>{{SpecName('File API')}}</td>
<td>{{Spec2('File API')}}</td>
<td>Definição Inicial.</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">Compatibilidade com os Navegadores</h2>
<div>{{CompatibilityTable}}</div>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari (WebKit)</th>
</tr>
<tr>
<td>Suporte básico</td>
<td>13</td>
<td>{{CompatGeckoDesktop("1.9")}} (non standard)<br>
{{CompatGeckoDesktop("7")}} (standard)</td>
<td>10.0</td>
<td>16.0</td>
<td>6.0</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Phone</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Suporte básico</td>
<td>{{CompatNo}}</td>
<td>25</td>
<td>{{CompatNo}}</td>
<td>11.1</td>
<td>6.0</td>
</tr>
</tbody>
</table>
</div>
<h3 id="Specification" name="Specification">Notas de Implementação</h3>
<h4 id="Notas_no_Gecko">Notas no Gecko</h4>
<ul>
<li>No Gecko, você pode utilizar esta API a partir de um código do chrome. Veja <a href="/en-US/docs/Extensions/Using_the_DOM_File_API_in_chrome_code" title="Usando a DOM File API no código do chrome">Using the DOM File API in chrome code</a> para mais detalhes.</li>
<li>A partir do Gecko 6.0 {{geckoRelease("6.0")}}, códigos com privilégios (como extensões) podem passar um objeto {{interface("nsIFile")}} para o construtor do DOM <code>File</code> para especificar a referência para o arquivo.</li>
<li>A partir do Gecko 8.0 {{geckoRelease("8.0")}}, você pode usar <code>new File<font face="Open Sans, sans-serif"> para criar objetos </font></code><code>File</code> de código de componentes XPCOM ao invés de precisar instanciaro objeto {{interface("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.
<pre class="syntaxbox">File File(
Array parts,
String nomedoarquivo,
BlobPropertyBag propriedades
);</pre>
</li>
</ul>
<h2 id="See_also" name="See_also">Veja também</h2>
<ul>
<li><a href="/en-US/docs/Using_files_from_web_applications" title="Using files from web applications">Using files from web applications</a></li>
<li><a href="/en-US/docs/Extensions/Using_the_DOM_File_API_in_chrome_code" title="Extensions/Using the DOM File API in chrome code">Using the DOM File API in chrome code</a></li>
<li>{{domxref("FileReader")}}</li>
</ul>
|