chrome.fileSystem

Описание

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

Разрешения

fileSystem

Доступность

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

Типы

AcceptOption

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

  • описание

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

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

  • расширения

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

    Принимаемые расширения, например «jpg», «gif», «crx».

  • mime-типы

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

    Принимаемые Mime-типы, например «image/jpeg» или «audio/*». Один из mimeTypes или расширений должен содержать хотя бы один допустимый элемент.

ChooseEntryOptions

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

  • принимает

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

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

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

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

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

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

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

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

  • предложенное имя

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

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

  • тип

    ВыберитеEntryType необязательно

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

ChooseEntryType

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

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

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

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

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

RequestFileSystemOptions

Хром 44+

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

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

    нить

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

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

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

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

Volume

Хром 44+

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

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

    нить

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

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

VolumeListChangedEvent

Хром 44+

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

Методы

chooseEntry()

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

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

Параметры

  • параметры

    Выберите EntryOptions необязательно.

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

    функция

    Параметр callback выглядит так:

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

    • вход

      Вход необязательный

    • fileEntries

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

getDisplayPath()

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

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

Параметры

  • вход

    Вход

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

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

    Параметр callback выглядит так:

    (displayPath: string) => void

    • DisplayPath

      нить

Возврат

  • Обещание<строка>

    Хром 117+

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

getVolumeList()

Обещание Chrome 44+
chrome.fileSystem.getVolumeList(
  callback?: function,
)

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

Параметры

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

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

    Параметр callback выглядит так:

    (volumes?: Volume[]) => void

    • объемы

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

Возврат

  • Обещание< Том [] | не определено>

    Хром 117+

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

getWritableEntry()

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

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

Параметры

  • вход

    Вход

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

    функция

    Параметр callback выглядит так:

    (entry: Entry) => void

    • вход

      Вход

isRestorable()

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

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

Параметры

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

    нить

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

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

    Параметр callback выглядит так:

    (isRestorable: boolean) => void

    • isRestoreable

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

Возврат

  • Обещание <логическое значение>

    Хром 117+

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

isWritableEntry()

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

Получает информацию о том, доступна ли эта запись для записи.

Параметры

  • вход

    Вход

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

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

    Параметр callback выглядит так:

    (isWritable: boolean) => void

    • isWritable

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

Возврат

  • Обещание <логическое значение>

    Хром 117+

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

requestFileSystem()

Обещание Chrome 44+
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)

Запрашивает доступ к файловой системе для тома, представленного options.volumeId . Если для options.writable установлено значение true, файловая система будет доступна для записи. В противном случае он будет доступен только для чтения. Для опции writable требуется разрешение "fileSystem": {"write"} в манифесте. Доступно только для киоск-приложений, работающих только в сеансе киоска. В режиме киоска с ручным запуском диалоговое окно подтверждения будет отображаться в верхней части активного окна приложения. В случае ошибки fileSystem будет неопределена и будет установлен chrome.runtime.lastError .

Параметры

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

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

    Параметр callback выглядит так:

    (fileSystem?: FileSystem) => void

    • файловая система

      Файловая система необязательно

Возврат

  • Обещание<Файловая система | не определено>

    Хром 117+

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

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)

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

Параметры

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

    нить

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

    функция

    Параметр callback выглядит так:

    (entry: Entry) => void

    • вход

      Вход

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

Возвращает идентификатор, который можно передать в restreEntry для восстановления доступа к данной записи файла. Сохраняются только 500 последних использованных записей, при этом вызовы continueEntry иrestoreEntry считаются использованными. Если у приложения есть разрешение «retainEntries» в разделе «fileSystem», записи сохраняются на неопределенный срок. В противном случае записи сохраняются только во время работы приложения и после его перезапуска.

Параметры

  • вход

    Вход

Возврат

  • нить

События

onVolumeListChanged

Хром 44+
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

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

Параметры