chrome.fileSystem

Описание

Используйте API chrome.fileSystem для создания, чтения, навигации и записи в локальную файловую систему пользователя. С помощью этого API приложения Chrome могут читать и записывать данные в выбранное пользователем местоположение. Например, текстовый редактор может использовать API для чтения и записи локальных документов. Обо всех ошибках сообщается через chrome.runtime.lastError.

Разрешения

fileSystem

Доступность

Только передний план

Типы

AcceptOption

Характеристики

  • описание

    строка необязательный

    Это необязательное текстовое описание для данной опции. Если оно отсутствует, описание будет сгенерировано автоматически; как правило, оно содержит расширенный список допустимых расширений (например, "text/html" может развернуться в "*.html, *.htm").

  • расширения

    строка[] необязательный

    Допустимые расширения файлов, например, "jpg", "gif", "crx".

  • mimeTypes

    строка[] необязательный

    Типы MIME для приема, например, "image/jpeg" или "audio/*". Один из типов MIME или расширений должен содержать как минимум один допустимый элемент.

ChooseEntryOptions

Характеристики

  • принимает

    AcceptOption [] необязательный

    Необязательный список параметров, которые можно принять для этой программы открытия файлов. Каждый параметр будет представлен пользователю в виде уникальной группы.

  • принимает все типы

    логический необязательный

    Указывает, следует ли принимать все типы файлов в дополнение к параметрам, указанным в аргументе accepts. По умолчанию — true. Если поле accepts не задано или не содержит допустимых записей, это значение всегда будет сбрасываться на true.

  • принимает несколько

    логический необязательный

    Принимать ли несколько файлов. Эта функция поддерживается только для openFile и openWritableFile. Если параметр установлен в значение true, функция обратного вызова chooseEntry будет вызвана со списком записей. В противном случае она будет вызвана с одной записью.

  • suggestedName

    строка необязательный

    Предлагаемое имя файла, которое будет отображаться пользователю в качестве имени по умолчанию для сохранения. Это необязательный параметр, применяемый только к параметру 'saveFile'.

  • тип

    ChooseEntryType ( необязательно)

    Тип отображаемого запроса. По умолчанию используется значение 'openFile'.

ChooseEntryType

Перечисление

"openFile"
Предлагает пользователю открыть существующий файл и возвращает объект FileEntry в случае успеха. Начиная с Chrome 31, объект FileEntry будет доступен для записи, если у приложения есть разрешение на запись в разделе «fileSystem»; в противном случае объект FileEntry будет доступен только для чтения.

"openWritableFile"
Предлагает пользователю открыть существующий файл и возвращает объект FileEntry с возможностью записи в случае успеха. Вызовы этого типа завершатся ошибкой во время выполнения, если у приложения нет разрешения на запись в разделе FileSystem.

"saveFile"
Предлагает пользователю открыть существующий или новый файл и возвращает объект FileEntry с возможностью записи в случае успеха. Вызовы с использованием этого типа завершатся ошибкой времени выполнения, если у приложения нет разрешения на запись в разделе 'fileSystem'.

"openDirectory"
Предлагает пользователю открыть каталог и возвращает объект DirectoryEntry в случае успеха. Вызовы этого типа завершатся ошибкой времени выполнения, если у приложения нет разрешения на доступ к каталогу в разделе «fileSystem». Если у приложения есть разрешение на запись в разделе «fileSystem», возвращаемый объект DirectoryEntry будет доступен для записи; в противном случае он будет доступен только для чтения. Новое в Chrome 31.

RequestFileSystemOptions

Chrome 44+

Характеристики

  • volumeId

    нить

    Идентификатор запрошенного тома.

  • записываемый

    логический необязательный

    Указывает, должна ли запрашиваемая файловая система быть доступна для записи. По умолчанию — только для чтения.

Volume

Chrome 44+

Характеристики

  • volumeId

    нить

  • записываемый

    логический

VolumeListChangedEvent

Chrome 44+

Характеристики

Методы

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)
: void

Предложите пользователю выбрать файл или каталог.

Параметры

  • параметры

    ChooseEntryOptions ( необязательно)

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • вход

      Вход необязателен.

    • fileEnries

      FileEntry[] optional

getDisplayPath()

Обещать
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

Получение пути к объекту Entry для отображения. Путь для отображения основан на полном пути к файлу или каталогу в локальной файловой системе, но может быть представлен в более удобном для чтения виде.

Параметры

  • вход

    Вход

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (displayPath: string) => void

    • displayPath

      нить

Возвраты

  • Promise<string>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getVolumeList()

Promise Chrome 44+
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

Возвращает список доступных томов для requestFileSystem() . Требуется разрешение манифеста "fileSystem": {"requestFileSystem"} . Доступно только для киосковых приложений, работающих в киосковой сессии. В случае ошибки volumes будут неопределены, и будет установлено значение chrome.runtime.lastError .

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (volumes?: Volume[]) => void

Возвраты

  • Promise< Volume [] | undefined>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)
: void

Получение записи с правами записи из другой записи. Этот вызов завершится ошибкой времени выполнения, если у приложения нет разрешения на запись в разделе «fileSystem». Если запись является записью каталога, этот вызов завершится ошибкой, если у приложения нет разрешения на доступ к каталогу в разделе «fileSystem».

Параметры

  • вход

    Вход

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (entry: Entry) => void

    • вход

      Вход

isRestorable()

Обещать
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

Возвращает значение, указывающее, имеет ли приложение разрешение на восстановление записи с заданным идентификатором.

Параметры

  • идентификатор

    нить

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (isRestorable: boolean) => void

    • isRestorable

      логический

Возвраты

  • Promise<boolean>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

isWritableEntry()

Обещать
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

Определяет, доступна ли данная запись для записи или нет.

Параметры

  • вход

    Вход

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (isWritable: boolean) => void

    • isWritable

      логический

Возвраты

  • Promise<boolean>

    Chrome 117+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

requestFileSystem()

Promise Chrome 44+
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 | undefined>

    Chrome 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 наиболее недавно использованных записей, при этом вызовы retainEntry и restoreEntry учитываются как использование. Если у приложения есть разрешение 'retainEntries' в разделе 'fileSystem', записи сохраняются бессрочно. В противном случае записи сохраняются только во время работы приложения и после перезапусков.

Параметры

  • вход

    Вход

Возвраты

  • нить

События

onVolumeListChanged

Chrome 44+
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Вызывается при изменении списка доступных томов.

Параметры