browser.fileSystemProvider

Descrição

Use a API chrome.fileSystemProvider para criar sistemas de arquivos que podem ser acessados no gerenciador de arquivos do Chrome OS.

Permissões

fileSystemProvider

Disponibilidade

Somente no ChromeOS

Você precisa declarar a permissão e a seção "fileSystemProvider" no manifesto da extensão para usar a API File System Provider. Exemplo:

{
  "name": "My extension",
  ...
  "permissions": [
    "fileSystemProvider"
  ],
  ...
  "file_system_provider_capabilities": {
    "configurable": true,
    "watchable": false,
    "multiple_mounts": true,
    "source": "network"
  },
  ...
}

A seção "file_system_provider" precisa ser declarada da seguinte forma:

configurable (booleano): opcional
Se a configuração via onConfigureRequested é compatível. O padrão é "false".
multiple_mounts (booleano): opcional
Indica se vários sistemas de arquivos ativados (mais de um) são aceitos. O padrão é "false".
watchable (booleano): opcional
Se a definição de observadores e a notificação sobre mudanças são compatíveis. O padrão é "false".
source (enum de "file", "device" ou "network"): obrigatório
Origem dos dados para sistemas de arquivos montados.

O app Arquivos usa as informações acima para renderizar os elementos da interface relacionados de maneira adequada. Por exemplo, se configurable estiver definido como "true", um item de menu para configurar volumes será renderizado. Da mesma forma, se multiple_mounts estiver definido como true, o app Files permitirá adicionar mais de um ponto de montagem na interface. Se watchable for false, um botão de atualização será renderizado. Se possível, adicione suporte para observadores, assim as mudanças no sistema de arquivos podem ser refletidas imediatamente e de forma automática.

Visão geral

A API File System Provider permite que as extensões ofereçam suporte a sistemas de arquivos virtuais, que estão disponíveis no gerenciador de arquivos do ChromeOS. Os casos de uso incluem descompactar arquivos e acessar arquivos em um serviço de nuvem diferente do Drive.

Montar sistemas de arquivos.

As extensões podem fornecer conteúdo do sistema de arquivos de uma fonte externa (como um servidor remoto ou um dispositivo USB) ou usar um arquivo local (como um arquivo) como entrada.

Para gravar sistemas de arquivos que são gerenciadores de arquivos (a origem é "file"), o provedor precisa ser um app empacotado, já que o evento onLaunched não está disponível para extensões.

Se a origem for uma rede ou um dispositivo, o sistema de arquivos será montado quando o evento onMountRequested for chamado.

Origem dos dados do sistema de arquivos Ponto de entrada
"file" Disponível apenas para apps empacotados.
"device" ou "network" onMountRequested

Como configurar sistemas de arquivos

Os sistemas de arquivos fornecidos, depois de montados, podem ser configurados pelo evento onConfigureRequested. Isso é especialmente útil para sistemas de arquivos que fornecem conteúdo pela rede para definir as credenciais adequadas. O processamento desse evento é opcional.

Ciclo de vida

Os sistemas de arquivos fornecidos, depois de montados, são lembrados pelo Chrome e remontados automaticamente após uma reinicialização. Portanto, depois que um sistema de arquivos é montado por uma extensão de fornecimento, ele permanece até que a extensão seja descarregada ou chame o método unmount.

Tipos

AbortRequestedOptions

Propriedades

  • fileSystemId

    string

    O identificador do sistema de arquivos relacionado a esta operação.

  • operationRequestId

    número

    Um ID da solicitação a ser cancelada.

  • requestId

    número

    O identificador exclusivo desta solicitação.

Action

Chrome 45 ou mais recente

Propriedades

  • ID

    string

    O identificador da ação. Qualquer string ou CommonActionId para ações comuns.

  • título

    string opcional

    O título da ação. Ele pode ser ignorado para ações comuns.

AddWatcherRequestedOptions

Propriedades

  • entryPath

    string

    O caminho da entrada a ser observada.

  • fileSystemId

    string

    O identificador do sistema de arquivos relacionado a esta operação.

  • recursive

    booleano

    Se a observação deve incluir todas as entradas filhas de forma recursiva. Só pode ser verdadeiro para diretórios.

  • requestId

    número

    O identificador exclusivo desta solicitação.

Change

Propriedades

  • changeType

    O tipo de mudança que aconteceu na entrada.

  • cloudFileInfo

    CloudFileInfo opcional

    Chrome 125 ou mais recente

    Informações relacionadas ao arquivo se ele for armazenado em um sistema de arquivos na nuvem.

  • entryPath

    string

    O caminho da entrada alterada.

ChangeType

Tipo de mudança detectada no diretório observado.

Enumeração

"CHANGED"

"DELETED"

CloseFileRequestedOptions

Propriedades

  • fileSystemId

    string

    O identificador do sistema de arquivos relacionado a esta operação.

  • openRequestId

    número

    Um ID de solicitação usado para abrir o arquivo.

  • requestId

    número

    O identificador exclusivo desta solicitação.

CloudFileInfo

Chrome 125 ou mais recente

Propriedades

  • versionTag

    string opcional

    Uma tag que representa a versão do arquivo.

CloudIdentifier

Chrome 117 ou mais recente

Propriedades

  • ID

    string

    O identificador do provedor para o arquivo/diretório especificado.

  • providerName

    string

    Identificador do provedor de armazenamento em nuvem (por exemplo, "drive.google.com").

CommonActionId

Chrome 45 ou mais recente

Lista de ações comuns. O "SHARE" é para compartilhar arquivos com outras pessoas. "SAVE_FOR_OFFLINE" para fixar (salvar para acesso off-line). "OFFLINE_NOT_NECESSARY" para notificar que o arquivo não precisa mais ser armazenado para acesso off-line. Usado por onGetActionsRequested e onExecuteActionRequested.

Enumeração

"SAVE_FOR_OFFLINE"

"OFFLINE_NOT_NECESSARY"

"COMPARTILHAR"

ConfigureRequestedOptions

Chrome 44 ou mais recente

Propriedades

  • fileSystemId

    string

    O identificador do sistema de arquivos a ser configurado.

  • requestId

    número

    O identificador exclusivo desta solicitação.

CopyEntryRequestedOptions

Propriedades

  • fileSystemId

    string

    O identificador do sistema de arquivos relacionado a esta operação.

  • requestId

    número

    O identificador exclusivo desta solicitação.

  • sourcePath

    string

    O caminho de origem da entrada a ser copiada.

  • targetPath

    string

    O caminho de destino para a operação de cópia.

CreateDirectoryRequestedOptions

Propriedades