chrome.fileBrowserHandler

Descri��o

Use a API chrome.fileBrowserHandler para ampliar o navegador de arquivos do ChromeOS. Por exemplo, voc� pode usar essa API para permitir que os usu�rios fa�am upload de arquivos para seu site.

Conceitos e uso

O navegador de arquivos do ChromeOS aparece quando o usu�rio pressiona Alt+Shift+M ou conecta um dispositivo de armazenamento externo, como um cart�o SD, uma chave USB, um drive externo ou uma c�mera digital. Al�m de mostrar os arquivos em dispositivos externos, o navegador tamb�m pode mostrar os arquivos salvos pelo usu�rio no sistema.

Quando o usu�rio seleciona um ou mais arquivos, o navegador de arquivos adiciona bot�es que representam os manipuladores v�lidos para esses arquivos. Por exemplo, na captura de tela abaixo, selecionar um arquivo com um arquivo ".png" resulta em um bot�o "Salvar na galeria" em que o usu�rio pode clicar.

Um navegador de arquivos do ChromeOS.
Um navegador de arquivos do ChromeOS.

Permiss�es

fileBrowserHandler

Declare a permiss�o "fileBrowserHandler" no manifesto de extens�es.

Disponibilidade

Somente ChromeOS Somente primeiro plano

Use o campo "file_browser_handlers" para registrar a extens�o como um gerenciador de pelo menos um tipo de arquivo. Voc� tamb�m deve fornecer um �cone de 16 por 16 para ser exibido no bot�o. Exemplo:

{
  "name": "My extension",
  ...
  "file_browser_handlers": [
    {
      "id": "upload",
      "default_title": "Save to Gallery", // What the button will display
      "file_filters": [
        "filesystem:*.jpg",  // To match all files, use "filesystem:*.*"
        "filesystem:*.jpeg",
        "filesystem:*.png"
      ]
    }
  ],
  "permissions" : [
    "fileBrowserHandler"
  ],
  "icons": {
    "16": "icon16.png",
    "48": "icon48.png",
    "128": "icon128.png"
  },
  ...
}

Implementar um gerenciador do navegador de arquivos

Para usar essa API, implemente uma fun��o que gerencie o evento onExecute de chrome.fileBrowserHandler. Sua fun��o ser� chamada sempre que o usu�rio clicar no bot�o que representa o gerenciador do navegador de arquivos. Na fun��o, use a API File System para ter acesso ao conte�do do arquivo. Exemplo:

chrome.fileBrowserHandler.onExecute.addListener(async (id, details) => {
  if (id !== 'upload') {
    return;  // check if you have multiple file_browser_handlers
  }

  for (const entry of detail.entries) {
    // the FileSystemFileEntry doesn't have a Promise API, wrap in one
    const file = await new Promise((resolve, reject) => {
      entry.file(resolve, reject);
    });
    const buffer = await file.arrayBuffer();
    // do something with buffer
  }
});

Seu manipulador de eventos recebe dois argumentos:

id
O valor id do arquivo de manifesto. Se a extens�o implementar v�rios gerenciadores, voc� poder� verificar o valor do ID para ver qual gerenciador foi acionado.
details
Um objeto que descreve o evento. � poss�vel acessar os arquivos que o usu�rio selecionou no campo entries desse objeto, que � uma matriz de objetos FileSystemFileEntry.

Tipos

FileHandlerExecuteEventDetails

Payload de detalhes do evento para o evento fileBrowserHandler.onExecute.

Propriedades

  • entries

    qualquer[]

    Matriz de inst�ncias de entrada que representa os arquivos que s�o destinos dessa a��o (selecionada no navegador de arquivos do ChromeOS).

  • tab_id

    n�mero opcional

    O ID da guia que gerou esse evento. Os IDs de guia s�o exclusivos em uma sess�o do navegador.

Eventos

onExecute

chrome.fileBrowserHandler.onExecute.addListener(
  callback: function,
)

Disparado quando a a��o do sistema de arquivos � executada no navegador de arquivos do ChromeOS.

Par�metros