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
fileSystemProviderDisponibilidade
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
Propriedades
-
ID
string
O identificador da ação. Qualquer string ou
CommonActionIdpara 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 recenteInformaçõ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
Propriedades
-
versionTag
string opcional
Uma tag que representa a versão do arquivo.
CloudIdentifier
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
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
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.