File

 

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

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

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

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

Свойства

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

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

Методы

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

{{Page("/en-US/docs/Web/API/Blob", "Methods")}}

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

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

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

BCD tables only load in the browser

 

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

  • В 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 (en-US), File.getAsBinary() (en-US), File.getAsDataURL(), File.getAsText(string encoding) (en-US) (баг 661876). Стандартные свойства File.name, Blob.size (en-US), и методы FileReader должны быть использованы вместо них.

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