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) Только для чтения Non-standard

Возвращает URL адрес, где расположен File.

File.type (en-US) Только для чтения

Возвращает MIME тип файла.

Методы

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

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

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

Specification
File API
# file-section

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

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, привелигированный код (такой как расширение) может передавать объект nsIFile в DOM File конструктор для указания файла в справку.
  • Начиная с Gecko 8.0, вы можете использовать new File чтобы создать объект File из XPCOM компонентного кода вместо создания экземпляра nsIDOMFile объекта напрямую. Конструктор принимает Blob, второй аргумент - имя файла. Имя файла может быть любой строкой.
    File File(
      Array parts,
      String filename,
      BlobPropertyBag properties
    );
    
  • Следующие нестандартные методы и свойства были убраны в Gecko 7: File.fileName, File.fileSize (en-US), File.getAsBinary(), File.getAsDataURL(), File.getAsText(string encoding) (баг 661876). Стандартные свойства File.name, Blob.size (en-US), и методы FileReader должны быть использованы вместо них.

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