chrome.fileSystem

Descrição

Use a API chrome.fileSystem para criar, ler, navegar e gravar no sistema de arquivos local do usuário. Com essa API, os apps do Chrome podem ler e gravar em um local selecionado pelo usuário. Por exemplo, um app de editor de texto pode usar a API para ler e gravar documentos locais. Todas as falhas são notificadas via chrome.runtime.lastError.

Permissões

fileSystem

Disponibilidade

Somente em primeiro plano

Tipos

AcceptOption

Propriedades

  • descrição

    string opcional

    Esta é a descrição de texto opcional para essa opção. Se não estiver presente, uma descrição será gerada automaticamente, geralmente contendo uma lista expandida de extensões válidas (por exemplo, "text/html" pode ser expandido para "*.html, *.htm").

  • extensões

    string[] opcional

    Extensões a serem aceitas, por exemplo, "jpg", "gif", "crx".

  • mimeTypes

    string[] opcional

    Tipos MIME a serem aceitos, por exemplo, "image/jpeg" ou "audio/*". Um dos mimeTypes ou extensões precisa conter pelo menos um elemento válido.

ChooseEntryOptions

Propriedades

  • aceita

    AcceptOption[] opcional

    A lista opcional de opções de aceitação para este abridor de arquivos. Cada opção será apresentada como um grupo exclusivo para o usuário final.

  • acceptsAllTypes

    booleano opcional

    Se aceitar todos os tipos de arquivo, além das opções especificadas no argumento "accepts". O padrão é verdadeiro. Se o campo "accepts" não estiver definido ou não tiver entradas válidas, ele sempre será redefinido como "true".

  • acceptsMultiple

    booleano opcional

    Se aceitar vários arquivos. Isso só é compatível com openFile e openWritableFile. O callback para chooseEntry será chamado com uma lista de entradas se essa opção estiver definida como "true". Caso contrário, ele será chamado com uma única entrada.

  • suggestedName

    string opcional

    O nome de arquivo sugerido que será apresentado ao usuário como o nome padrão para leitura ou gravação. Isso é opcional.

  • tipo

    ChooseEntryType opcional

    Tipo do aviso a ser mostrado. O padrão é "openFile".

ChooseEntryType

Enumeração

"openFile"
Pede que o usuário abra um arquivo existente e retorna um FileEntry em caso de sucesso. A partir do Chrome 31, o FileEntry poderá ser gravável se o aplicativo tiver a permissão "write" em "fileSystem". Caso contrário, o FileEntry será somente leitura.

"openWritableFile"
Solicita que o usuário abra um arquivo existente e retorna um FileEntry gravável em caso de sucesso. As chamadas que usam esse tipo vão falhar com um erro de execução se o aplicativo não tiver a permissão "gravar" em "fileSystem".

"saveFile"
Solicita que o usuário abra um arquivo novo ou existente e retorna um FileEntry gravável em caso de sucesso. As chamadas que usam esse tipo vão falhar com um erro de execução se o aplicativo não tiver a permissão "gravar" em "fileSystem".

"openDirectory"
Solicita que o usuário abra um diretório e retorna um DirectoryEntry em caso de sucesso. As chamadas que usam esse tipo vão falhar com um erro de execução se o aplicativo não tiver a permissão "directory" em "fileSystem". Se o aplicativo tiver a permissão "write" em "fileSystem", o DirectoryEntry retornado será gravável. Caso contrário, será somente leitura. Novidade no Chrome 31.

RequestFileSystemOptions

Chrome 44 ou mais recente

Propriedades

  • volumeId

    string

    O ID do volume solicitado.

  • gravável

    booleano opcional

    Indica se o sistema de arquivos solicitado precisa ser gravável. O padrão é somente leitura.

Volume

Chrome 44 ou mais recente

Propriedades

  • volumeId

    string

  • gravável

    booleano

VolumeListChangedEvent

Chrome 44 ou mais recente

Propriedades

Métodos

chooseEntry()

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

Peça para o usuário escolher um arquivo ou diretório.

Parâmetros

  • opções
  • callback

    função

    O parâmetro callback tem esta aparência:

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

    • entry

      Entrada opcional

    • fileEntries

      FileEntry[] opcional

getDisplayPath()

Promise
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

Recebe o caminho de exibição de um objeto Entry. O caminho de exibição é baseado no caminho completo do arquivo ou diretório no sistema de arquivos local, mas pode ser mais legível para fins de exibição.

Parâmetros

  • entry

    Entrada

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (displayPath: string) => void

    • displayPath

      string

Retorna

  • Promise<string>

    Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getVolumeList()

Promise Chrome 44 ou mais recente
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

Retorna uma lista de volumes disponíveis para requestFileSystem(). A permissão de manifesto "fileSystem": {"requestFileSystem"} é obrigatória. Disponível apenas para apps de quiosque em execução na sessão de quiosque. Em caso de erro, volumes será indefinido e chrome.runtime.lastError será definido.

Parâmetros

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (volumes?: Volume[]) => void

Retorna

  • Promise<Volume[] | undefined>

    Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getWritableEntry()

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

Recebe uma entrada gravável de outra entrada. Essa chamada vai falhar com um erro de tempo de execução se o aplicativo não tiver a permissão "write" em "fileSystem". Se a entrada for um DirectoryEntry, essa chamada vai falhar se o aplicativo não tiver a permissão "directory" em "fileSystem".

Parâmetros

  • entry

    Entrada

  • callback

    função

    O parâmetro callback tem esta aparência:

    (entry: Entry) => void

    • entry

      Entrada

isRestorable()

Promise
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

Retorna se o app tem permissão para restaurar a entrada com o ID especificado.

Parâmetros

  • ID

    string

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (isRestorable: boolean) => void

    • isRestorable

      booleano

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

isWritableEntry()

Promise
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

Recebe se esta entrada pode ser gravada ou não.

Parâmetros

  • entry

    Entrada

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (isWritable: boolean) => void

    • isWritable

      booleano

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

requestFileSystem()

Promise Chrome 44 ou mais recente
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)
: Promise<FileSystem | undefined>

Solicita acesso a um sistema de arquivos para um volume representado por options.volumeId. Se options.writable for definido como "true", o sistema de arquivos será gravável. Caso contrário, ele será somente leitura. A opção writable exige a permissão "fileSystem": {"write"} no manifesto. Disponível apenas para apps de quiosque em execução em sessões de quiosque. No modo quiosque de inicialização manual, uma caixa de diálogo de confirmação vai aparecer na parte de cima da janela do app ativo. Em caso de erro, fileSystem será indefinido e chrome.runtime.lastError será definido.

Parâmetros

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem opcional

Retorna

  • Promise<FileSystem | undefined>

    Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

restoreEntry()

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

Retorna a entrada de arquivo com o ID fornecido, se ela puder ser restaurada. Caso contrário, essa chamada vai falhar com um erro de ambiente de execução.

Parâmetros

  • ID

    string

  • callback

    função

    O parâmetro callback tem esta aparência:

    (entry: Entry) => void

    • entry

      Entrada

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

Retorna um ID que pode ser transmitido para "restoreEntry" e recuperar o acesso a uma determinada entrada de arquivo. Somente as 500 entradas usadas mais recentemente são mantidas, e as chamadas para retainEntry e restoreEntry contam como uso. Se o app tiver a permissão "retainEntries" em "fileSystem", as entradas serão mantidas por tempo indeterminado. Caso contrário, as entradas serão mantidas apenas enquanto o app estiver em execução e entre reinicializações.

Parâmetros

  • entry

    Entrada

Retorna

  • string

Eventos

onVolumeListChanged

Chrome 44 ou mais recente
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Chamado quando uma lista de volumes disponíveis é alterada.

Parâmetros