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/*". Один из MIME-типов или расширений должен содержать хотя бы один допустимый элемент.

ChooseEntryOptions

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

  • принимает

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

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

  • принимаетВсеТипы

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

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

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

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

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

  • proposedName

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

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

  • тип

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

    Тип отображаемого запроса. Значение по умолчанию — «openFile».

ChooseEntryType

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

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

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

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

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

RequestFileSystemOptions

Хром 44+

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

  • VolumeId

    нить

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

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

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

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

Volume

Хром 44+

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

  • VolumeId

    нить

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

    булев

VolumeListChangedEvent

Хром 44+

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

Методы

chooseEntry()

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

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

Параметры

  • параметры

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

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

    функция

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

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

    • вход

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

    • fileEntries

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

getDisplayPath()

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

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

Параметры

  • вход

    Вход

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

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

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

    (displayPath: string) => void

    • displayPath

      нить

Возврат

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

    Хром 117+

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

getVolumeList()

Обещание Chrome 44+
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

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

Параметры

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

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

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

    (volumes?: Volume[]) => void

    • тома

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

Возврат

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

    Хром 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 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 | не определено>

    Хром 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

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

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

Параметры