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
:
Спецификация
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
в DOMFile
конструктор для указания файла в справку. - Начиная с 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
должны быть использованы вместо них.
Смотрите также
- Использование файлов из веб-приложений
FileReader
- Использование DOM File API в chrome code (для привелигированного кода, запускаемого в Gecko, такого как Firefox дополнения)