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 editor de texto pode usar a API para ler e gravar documentos locais. Todas as falhas são notificadas por meio de chrome.runtime.lastError.

Permissões

fileSystem

Disponibilidade

Apenas em primeiro plano

Tipos

AcceptOption

Propriedades

  • descrição

    string opcional

    Esta é a descrição de texto opcional para essa opção. Se ausente, uma descrição será gerada automaticamente. Normalmente, contém uma lista expandida de extensões válidas (por exemplo, "text/html" pode se expandir para "*.html, *.htm").

  • extensions

    string[] opcional

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

  • mimeTypes

    string[] opcional

    Tipos MIME a serem aceitos, por exemplo, "imagem/jpeg" ou "áudio/*". Um dos mimeTypes ou extensões deve 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 arquivo. Cada opção será apresentada como um grupo exclusivo ao usuário final.

  • acceptsAllTypes

    booleano opcional

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

  • acceptsMultiple

    booleano opcional

    Define se vários arquivos serão aceitos. Só há suporte para openFile e openWritableFile. A chamada de retorno para chooseEntry será chamada com uma lista de entradas se o valor for definido como "true". Caso contrário, ele será chamado com uma única entrada.

  • suggestedName

    string opcional

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

  • digitar

    ChooseEntryType opcional

    Tipo de solicitação a ser exibida. O padrão é "openFile".

ChooseEntryType

Tipo enumerado

"openFile"
Solicita que o usuário abra um arquivo existente e retorne uma FileEntry se for bem-sucedido. No Chrome 31 e versões mais recentes, a FileEntry será gravável se o aplicativo tiver a permissão "write" em "fileSystem". Caso contrário, a FileEntry será somente leitura.

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

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

"openDirectory"
Solicita que o usuário abra um diretório e retorna uma DirectoryEntry se a operação for bem-sucedida. Chamadas que usam esse tipo falharão com um erro de tempo de execução se o aplicativo não tiver a permissão "diretório" em "fileSystem". Se o aplicativo tiver a permissão de "gravação" em "fileSystem", a DirectoryEntry retornada será gravável; caso contrário, será somente leitura. Novidades no Chrome 31.

RequestFileSystemOptions

Chrome 44 ou mais recente

Propriedades

  • volumeId

    string

    O ID do volume solicitado.

  • gravável

    booleano opcional

    Define 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

    boolean

VolumeListChangedEvent

Chrome 44 ou mais recente

Propriedades

Métodos

chooseEntry()

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

Peça ao usuário para 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()

Promessa
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)

Acessa 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 optional

    O parâmetro callback tem esta aparência:

    (displayPath: string)=>void

    • displayPath

      string

Retorna

  • Promessa<string>

    Chrome 117 ou mais recente

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

getVolumeList()

Promessa Chrome 44+
chrome.fileSystem.getVolumeList(
  callback?: function,
)

Retorna uma lista de volumes disponíveis para requestFileSystem(). A permissão do manifesto "fileSystem": {"requestFileSystem"} é necessária. Disponível apenas para aplicativos 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 optional

    O parâmetro callback tem esta aparência:

    (volumes?: Volume[])=>void

Retorna

  • Prometer<Volume[]|undefined>

    Chrome 117 ou mais recente

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

getWritableEntry()

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

Consiga uma entrada gravável de outra entrada. Essa chamada falhará com um erro de tempo de execução se o aplicativo não tiver a permissão de "gravação" em "fileSystem". Se a entrada for uma DirectoryEntry, a chamada 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()

Promessa
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)

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

Parâmetros

  • id

    string

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (isRestorable: boolean)=>void

    • isRestorable

      boolean

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

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

isWritableEntry()

Promessa
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

Descobre se esta entrada é gravável ou não.

Parâmetros

  • entry

    Entrada

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (isWritable: boolean)=>void

    • isWritable

      boolean

Retorna

  • Promise<boolean>

    Chrome 117 ou mais recente

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

requestFileSystem()

Promessa Chrome 44+
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)

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

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (fileSystem?: FileSystem)=>void

    • fileSystem

      FileSystem opcional

Retorna

  • Promise<FileSystem|undefined>

    Chrome 117 ou mais recente

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

restoreEntry()

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

Retorna a entrada de arquivo com o ID fornecido, se ele puder ser restaurado. Caso contrário, essa chamada vai falhar com um erro de tempo 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,
)

Retorna um ID que pode ser passado paraRestoreEntry para recuperar o acesso a uma determinada entrada de arquivo. Somente as 500 entradas usadas mais recentemente são retidas, onde as chamadas para "keepEntry" e "RestoreEntry" contam conforme o uso. Se o app tiver a permissão "retainEntries" em "fileSystem", as entradas são mantidas indefinidamente. Caso contrário, as entradas serão retidas apenas enquanto o app estiver em execução e entre as 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