Описание
Используйте chrome.fileSystem API, чтобы создавать, читать, просматривать и записывать файлы в локальной файловой системе пользователя. С помощью этого API приложения Chrome могут считывать и записывать данные в выбранном пользователем месте. Например, текстовый редактор может использовать API для чтения и записи локальных документов. Обо всех сбоях сообщается через chrome.runtime.lastError.
Разрешения
fileSystemДоступность
Типы
AcceptOption
Свойства
-
описание
Строка (необязательно)
Необязательное текстовое описание этого варианта. Если описание не указано, оно будет создано автоматически. Обычно оно содержит расширенный список допустимых расширений (например, text/html может быть расширено до *.html, *.htm).
-
extensions
string[] необязательно
Расширения, которые нужно принять, например jpg, gif, crx.
-
mimeTypes
string[] необязательно
MIME-типы, которые нужно принять, например "image/jpeg" или "audio/*". В mimeTypes или extensions должен быть хотя бы один допустимый элемент.
ChooseEntryOptions
Свойства
-
принимает
AcceptOption[] необязательный
Необязательный список вариантов принятия для этого средства открытия файлов. Каждый вариант будет представлен конечному пользователю как отдельная группа.
-
acceptsAllTypes
Логическое значение (необязательно)
Принимать ли все типы файлов в дополнение к вариантам, указанным в аргументе accepts. Значение по умолчанию – true. Если поле accepts не задано или не содержит допустимых записей, всегда будет устанавливаться значение true.
-
acceptsMultiple
Логическое значение (необязательно)
Указывает, можно ли загружать несколько файлов. Это поддерживается только для openFile и openWritableFile. Если задано значение true, обратный вызов chooseEntry будет вызываться со списком записей. В противном случае она будет вызвана с одной записью.
-
suggestedName
Строка (необязательно)
Предлагаемое название файла, которое будет показано пользователю по умолчанию при сохранении. Это необязательный параметр, который применяется только к saveFile.
-
тип
ChooseEntryType необязательный
Тип показываемого запроса. Значение по умолчанию – openFile.
ChooseEntryType
Перечисление
"openFile"
Предлагает пользователю открыть существующий файл и возвращает FileEntry в случае успеха. Начиная с версии Chrome 31, FileEntry будет доступен для записи, если у приложения есть разрешение write в fileSystem. В противном случае FileEntry будет доступен только для чтения.
"openWritableFile"
Предлагает пользователю открыть существующий файл и возвращает FileEntry с возможностью записи в случае успеха. Вызовы с использованием этого типа будут завершаться ошибкой выполнения, если у приложения нет разрешения на запись в fileSystem.
"saveFile"
Предлагает пользователю открыть существующий или новый файл и возвращает доступный для записи FileEntry в случае успеха. Вызовы с использованием этого типа будут завершаться ошибкой выполнения, если у приложения нет разрешения на запись в fileSystem.
"openDirectory"
Предлагает пользователю открыть каталог и возвращает DirectoryEntry в случае успеха. Если у приложения нет разрешения directory в fileSystem, вызовы с использованием этого типа будут завершаться ошибкой выполнения. Если у приложения есть разрешение на запись в fileSystem, то возвращенный объект DirectoryEntry будет доступен для записи, в противном случае – только для чтения. Новое в Chrome 31.
RequestFileSystemOptions
Свойства
-
volumeId
string
Идентификатор запрашиваемого тома.
-
Редактируемый объект
Логическое значение (необязательно)
Указывает, должна ли запрашиваемая файловая система быть доступна для записи. По умолчанию предоставляется доступ только для чтения.
Volume
Свойства
-
volumeId
string
-
Редактируемый объект
Логическое значение
VolumeListChangedEvent
Свойства
-
тома
Volume[]
Методы
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
Попросите пользователя выбрать файл или каталог.
Параметры
-
Параметры
ChooseEntryOptions необязательный
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
запись
Необязательный атрибут.
-
fileEntries
FileEntry[] необязательно
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
Получить путь отображения объекта Entry. Отображаемый путь основан на полном пути к файлу или каталогу в локальной файловой системе, но может быть изменен для удобства чтения.
Параметры
-
запись
Запись
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(displayPath: string) => void
-
displayPath
string
-
Возвраты
-
Promise<string>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
Возвращает список томов, доступных для requestFileSystem(). Требуется разрешение манифеста "fileSystem": {"requestFileSystem"}. Доступно только для киоск-приложений, работающих в режиме киоска. В случае ошибки объект volumes не будет определен, а объект chrome.runtime.lastError будет задан.
Параметры
Возвраты
-
Promise<Volume[] | undefined>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
): void
Получить доступную для записи запись из другой записи. Если у приложения нет разрешения на запись в fileSystem, вызов завершится ошибкой выполнения. Если запись является DirectoryEntry, вызов не будет выполнен, если у приложения нет разрешения directory в fileSystem.
Параметры
-
запись
Запись
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(entry: Entry) => void
-
запись
Запись
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
Возвращает значение, указывающее, есть ли у приложения разрешение на восстановление записи с указанным идентификатором.
Параметры
-
id
string
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(isRestorable: boolean) => void
-
isRestorable
Логическое значение
-
Возвраты
-
Promise<boolean>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
Возвращает значение, указывающее, доступна ли эта запись для записи.
Параметры
-
запись
Запись
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(isWritable: boolean) => void
-
isWritable
Логическое значение
-
Возвраты
-
Promise<boolean>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
): Promise<FileSystem | undefined>
Запрашивает доступ к файловой системе для тома, представленного options.volumeId. Если для правила options.writable задано значение True, файловая система будет доступна для записи. В противном случае он будет доступен только для чтения. Для параметра writable требуется разрешение "fileSystem": {"write"} в манифесте. Доступно только для киоск-приложений, работающих в режиме киоска. Если режим киоска запускается вручную, поверх активного окна приложения появится диалоговое окно подтверждения. В случае ошибки объект fileSystem не будет определен, а объект chrome.runtime.lastError будет задан.
Параметры
-
Параметры
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem (необязательно)
-
Возвраты
-
Promise<FileSystem | undefined>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
): void
Возвращает запись файла с заданным идентификатором, если ее можно восстановить. В противном случае вызов завершится ошибкой выполнения.
Параметры
-
id
string
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(entry: Entry) => void
-
запись
Запись
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
): string
Возвращает идентификатор, который можно передать в restoreEntry, чтобы восстановить доступ к определенной записи файла. Сохраняются только 500 последних использованных записей, где вызовы retainEntry и restoreEntry считаются использованием. Если у приложения есть разрешение retainEntries в разделе fileSystem, записи сохраняются бессрочно. В противном случае записи сохраняются только во время работы приложения и при перезапусках.
Параметры
-
запись
Запись
Возвраты
-
string
События
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Вызывается при изменении списка доступных томов.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(event: VolumeListChangedEvent) => void
-
event
-