aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/file/index.html
blob: 82c9f5b7aa140530bcc6babac0a03f9fdee60319 (plain)
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>