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