MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

 

Интерфейс File представляет информацию о файлах и предоставляет JavaScript в веб странице доступ к их контенту.

Объекты File  как правило извлекаются из объекта FileList, который возвращён как результат пользовательского выбора файлов с помощью <input> элемента, из drag and drop операций DataTransfer объекта, или из mozGetAsFile() API на HTMLCanvasElement. В Gecko, привилигированный код может создать файл представляющий любой локалный файл без пользовательского взаимодействия (см Gecko notes для получения большей информации.)

Объект File - особый вид Blob, и может быть использован в любом контексте так же, как и Blob. В частности, FileReader, URL.createObjectURL(), createImageBitmap(), и XMLHttpRequest.send() допускают и Blob, и File.

Смотри Использование файлов в веб приложениях для получения более подробной информации и примеров.

Свойства

Интерфейс File также наследует свойства от Blob интерфейса:

File.lastModified Только для чтения
Возвращает время последнего изменения файла в миллисекунде с эпохи UNIX (1 января 1970 года в 00:00:00  в часовом поясе UTC).
File.lastModifiedDate Только для чтения
Возвращает дату последнего изменения файла, на который ссылается объект File.
File.name Только для чтения
Возвращает имя файла, на который ссылается объект File.
File.size Только для чтения
Возвращает размер файла.
File.webkitRelativePath Только для чтения
Ворвращает URL адрес, где расположен File.
File.type Только для чтения
Возвращает MIME тип файла.

Методы

Интерфейс не определяет никаких методов, но наследует методы из интерфейса Blob:

Blob.close()
Closes the blob object, possibly freeing underlying resources.
Blob.slice([start[, end[, contentType]]])
Returns a new Blob object containing the data in the specified range of bytes of the source Blob.

Спецификация

Specification Status Comment
File API Рабочий черновик Исходное определение

Браузерная совместимость

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Базовая поддержка 13 3.0 (1.9)[1]
7 (7)
10.0 11.5 6.0
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Базовая поддержка Нет 25 Нет 11.1 6.0

[1] Нестандартная реализация.

Реализационные заметки

  • В Gecko, вы можете использовать этот API изнутри chrome code. Смотрите Использование DOM File API в chrome code, чтобы узнать больше. Чтобы использовать API в chrome code, JSM и Bootstrap, вы должны импортировать его используя Cu.importGlobalProperties(['File']);
  • Начиная с Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3), привелигированный код (такой как расширение) может передавать объект nsIFile в DOM File конструктор для указания файла в справку.
  • Начиная с Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5), вы можете использовать new File чтобы создать объект File из XPCOM компонентного кода вместо создания экземпляра nsIDOMFile объекта напрямую. Конструктор принимает Blob, второй аргумент - имя файла. Имя файла может быть любой строкой.
    File File(
      Array parts,
      String filename, 
      BlobPropertyBag properties
    );
  • Следующие нестандартные методы и свойства были убраны в Gecko 7 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4): File.fileName, File.fileSize, File.getAsBinary(), File.getAsDataURL(), File.getAsText(string encoding) (баг 661876). Стандартные свойства File.name, Blob.size, и методы FileReader должны быть использованы вместо них.

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: nikitaermishin, WispProxy, S-le, Helen4gu, MuradAz
 Обновлялась последний раз: nikitaermishin,