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 chrome.runtime.lastError.

Permissões

fileSystem

Disponibilidade

Somente primeiro plano

Tipos

AcceptOption

Propriedades

  • descrição

    string opcional

    Este é o texto de descrição opcional para esta opção. Se não estiver presente, uma descrição será gerada automaticamente. que normalmente contém uma lista expandida de extensões válidas (por exemplo, "texto/html" pode se expandir 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, "imagem/jpeg" ou "audio/*". 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 arquivos. Cada opção será apresentada como um grupo exclusivo ao usuário final.

  • acceptsAllTypes

    booleano opcional

    Define se todos os tipos de arquivo serão aceitos, além das opções especificadas no argumento aceita. O padrão é verdadeiro. Se o campo aceita não for 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. Isso só é compatível com openFile e openWritableFile. O callback para chooseEntry será chamado com uma lista de entradas se esse valor estiver definido 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 comando a ser exibido. O padrão é "openFile".

ChooseEntryType

Enumeração

"openFile"
solicita que o usuário abra um arquivo existente e retorna uma FileEntry se a operação for bem-sucedida. A partir do Chrome 31, a FileEntry será gravável se o aplicativo tiver a permissão "write" permissão 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. Chamadas que usam esse tipo falharão com um erro de tempo de execução se o aplicativo não tiver a permissão de "gravação" permissão em "fileSystem".

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

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

RequestFileSystemOptions

Chrome 44 ou superior

Propriedades

  • volumeId

    string

    O ID do volume solicitado.

  • gravável

    booleano opcional

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

Volume

Chrome 44 ou superior

Propriedades

  • volumeId

    string

  • gravável

    booleano

VolumeListChangedEvent

Chrome 44 ou superior

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,
)

Extrai 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

  • Promessa<string>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getVolumeList()

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

Retorna uma lista de volumes disponíveis para requestFileSystem(). A permissão de manifesto "fileSystem": {"requestFileSystem"} é obrigató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 opcional

    O parâmetro callback tem esta aparência:

    (volumes?: Volume[]) => void

Retorna

  • Promise&lt;Volume[] | indefinido>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getWritableEntry()

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

Recebe uma entrada gravável de outra. Esta chamada falhará com um erro de tempo de execução se o aplicativo não tiver a função 'write' em "fileSystem". Se a entrada for uma DirectoryEntry, essa chamada falhará se o aplicativo não tiver 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 opcional

    O parâmetro callback tem esta aparência:

    (isRestorable: boolean) => void

    • isRestorable

      booleano

Retorna

  • Promise&lt;boolean&gt;

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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 opcional

    O parâmetro callback tem esta aparência:

    (isWritable: boolean) => void

    • isWritable

      booleano

Retorna

  • Promise&lt;boolean&gt;

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

requestFileSystem()

Promessa Chrome 44 ou superior
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, ele 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. Para o modo quiosque de inicialização manual, uma caixa de diálogo de confirmação é exibida na parte superior da janela do aplicativo 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&lt;FileSystem | indefinido>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

restoreEntry()

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

Retorna a entrada do arquivo com o ID fornecido, se ele puder ser restaurado. Caso contrário, esta 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 transmitido para retrieveEntry para recuperar o acesso a uma determinada entrada de arquivo. Somente as 500 entradas usadas mais recentemente são mantidas, e as chamadas para keepEntry e resumeEntry são consideradas como usadas. Se o aplicativo tiver a opção "retainEntries" permissão em "fileSystem", as entradas são retidas indefinidamente. Caso contrário, as entradas serão retidas somente enquanto o app estiver em execução e entre reinicializações.

Parâmetros

  • entry

    Entrada

Retorna

  • string

Eventos

onVolumeListChanged

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

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

Parâmetros