chrome.fileSystem

Описание

Используйте 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

Chrome 44 и более поздних версий;

Свойства

  • volumeId

    string

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

  • Редактируемый объект

    Логическое значение (необязательно)

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

Volume

Chrome 44 и более поздних версий;

Свойства

  • volumeId

    string

  • Редактируемый объект

    Логическое значение

VolumeListChangedEvent

Chrome 44 и более поздних версий;

Свойства

Методы

chooseEntry()

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

Попросите пользователя выбрать файл или каталог.

Параметры

  • Параметры

    ChooseEntryOptions необязательный

  • обратный вызов

    function

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

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

    • запись

      Необязательный атрибут.

    • fileEntries

      FileEntry[] необязательно

getDisplayPath()

Promise
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()

Promise Chrome 44 и более поздние версии
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

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

Параметры

  • обратный вызов

    function необязательно

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

    (volumes?: Volume[]) => void

Возвраты

  • 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()

Promise
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()

Promise
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

Возвращает значение, указывающее, доступна ли эта запись для записи.

Параметры

  • запись

    Запись

  • обратный вызов

    function необязательно

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

    (isWritable: boolean) => void

    • isWritable

      Логическое значение

Возвраты

  • Promise<boolean>

    Chrome 117 и более поздних версий

    Объекты Promise поддерживаются только в 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 будет задан.

Параметры

  • Параметры
  • обратный вызов

    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 44 и более поздних версий;
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

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

Параметры