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
|
---
title: File
slug: Web/API/File
translation_of: Web/API/File
---
<div>{{APIRef}}</div>
<div> </div>
<p>Интерфейс <strong><code>File</code></strong> представляет информацию о файлах и предоставляет JavaScript в веб странице доступ к их контенту.</p>
<p><code>Объекты File</code> как правило извлекаются из объекта {{domxref("FileList")}}, который возвращён как результат пользовательского выбора файлов с помощью {{HTMLElement("input")}} элемента, из drag and drop операций {{domxref("DataTransfer")}} объекта, или из <code>mozGetAsFile()</code> API на {{domxref("HTMLCanvasElement")}}. В Gecko, привилегированный код может создать файл представляющий любой локалный файл без пользовательского взаимодействия (см {{anch("Gecko notes")}} для получения большей информации.)</p>
<p>Объект <code>File</code> - особый вид {{domxref("Blob")}}, и может быть использован в любом контексте так же, как и Blob. В частности, {{domxref("FileReader")}}, {{domxref("URL.createObjectURL()")}}, {{domxref("ImageBitmapFactories.createImageBitmap()", "createImageBitmap()")}}, и {{domxref("XMLHttpRequest", "", "send()")}} допускают и <code>Blob,</code> и <code>File</code>.</p>
<p>Смотри <a href="/ru/docs/Using_files_from_web_applications">Использование файлов в веб приложениях</a> для получения более подробной информации и примеров.</p>
<h2 id="Свойства">Свойства</h2>
<p><em>Интерфейс <code>File</code> также наследует свойства от {{domxref("Blob")}} интерфейса:</em></p>
<dl>
<dt>{{domxref("File.lastModified")}} {{readonlyinline}}</dt>
<dd>Возвращает время последнего изменения файла в миллисекунде с эпохи UNIX (1 января 1970 года в 00:00:00 в часовом поясе UTC).</dd>
<dt>{{domxref("File.lastModifiedDate")}} {{readonlyinline}} {{gecko_minversion_inline("15.0")}}</dt>
<dd>Возвращает <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Date">дату</a> последнего изменения файла, на который ссылается объект File.</dd>
<dt>{{domxref("File.name")}} {{readonlyinline}}</dt>
<dd>Возвращает имя файла, на который ссылается объект File.</dd>
<dt>{{domxref("File.size")}} {{readonlyinline}}</dt>
<dd>Возвращает размер файла.</dd>
<dt>{{domxref("File.webkitRelativePath")}} {{readonlyinline}} {{non-standard_inline}}</dt>
<dd>Возвращает URL адрес, где расположен {{domxref("File")}}.</dd>
<dt>{{domxref("File.type")}} {{readonlyinline}}</dt>
<dd>Возвращает <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME </a>тип файла.</dd>
</dl>
<h2 id="Методы">Методы</h2>
<p>Интерфейс не определяет никаких методов, но наследует методы из интерфейса<em> {{domxref("Blob")}}:</em></p>
<p>{{Page("/en-US/docs/Web/API/Blob", "Methods")}}</p>
<h2 id="Спецификация">Спецификация</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
<tr>
<td>{{SpecName('File API')}}</td>
<td>{{Spec2('File API')}}</td>
<td>Исходное определение</td>
</tr>
</tbody>
</table>
<h2 id="Браузерная_совместимость">Браузерная совместимость</h2>
<div>{{Compat("api.File")}}</div>
<p> </p>
<h2 id="Реализационные_заметки">Реализационные заметки</h2>
<ul>
<li>В Gecko, вы можете использовать этот API изнутри chrome code. Смотрите <a href="/en-US/docs/Extensions/Using_the_DOM_File_API_in_chrome_code">Использование DOM File API в chrome code</a>, чтобы узнать больше. Чтобы использовать API в chrome code, JSM и Bootstrap, вы должны импортировать его используя <code><a href="/en-US/docs/Components.utils.importGlobalProperties">Cu.importGlobalProperties</a>(['File']);</code></li>
<li>Начиная с Gecko 6.0 {{geckoRelease("6.0")}}, привелигированный код (такой как расширение) может передавать объект {{interface("nsIFile")}} в DOM <code>File</code> конструктор для указания файла в справку.</li>
<li>Начиная с Gecko 8.0 {{geckoRelease("8.0")}}, вы можете использовать <code>new File</code> чтобы создать <code>объект File</code> из XPCOM компонентного кода вместо создания экземпляра {{interface("nsIDOMFile")}} объекта напрямую. Конструктор принимает {{domxref("Blob")}}, второй аргумент - имя файла. Имя файла может быть любой строкой.
<pre class="syntaxbox">File File(
Array parts,
String filename,
BlobPropertyBag properties
);</pre>
</li>
<li>Следующие нестандартные методы и свойства были убраны в Gecko 7 {{geckoRelease("7.0")}}: {{domxref("File.fileName")}}, {{domxref("File.fileSize")}}, {{domxref("File.getAsBinary()")}}, {{domxref("File.getAsDataURL()")}}, {{domxref("File.getAsText()","File.getAsText(string encoding)")}} ({{bug("661876")}}). Стандартные свойства {{domxref("File.name")}}, {{domxref("Blob.size")}}, и методы {{domxref("FileReader")}} должны быть использованы вместо них.</li>
</ul>
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
<li><a href="/en-US/docs/Using_files_from_web_applications">Использование файлов из веб-приложений</a></li>
<li>{{domxref("FileReader")}}</li>
<li><a href="/en-US/docs/Extensions/Using_the_DOM_File_API_in_chrome_code">Использование DOM File API в chrome code</a> (для привелигированного кода, запускаемого в Gecko, такого как Firefox дополнения)</li>
</ul>
|