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 edição 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 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 das 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 todos os tipos de arquivo devem ser aceitos, 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 verdadeiro.

  • acceptsMultiple

    booleano opcional

    Se é possível 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 for definida como verdadeira. 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 salvar. Isso é opcional e se aplica apenas a "saveFile".

  • tipo

    ChooseEntryType opcional

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

ChooseEntryType

Enumeração

"openFile"
Solicita que o usuário abra um arquivo existente e retorna uma FileEntry em caso de sucesso. A partir do Chrome 31, o FileEntry 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 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 atual ou um novo arquivo e retorna um FileEntry gravável em caso de sucesso. 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 um DirectoryEntry em caso de sucesso. 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 "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. Novidades do Chrome 31.

RequestFileSystemOptions

Chrome 44+

Propriedades

  • volumeId

    string

    O ID do volume solicitado.

  • gravável

    booleano opcional

    Se o sistema de arquivos solicitado deve ser gravável. O padrão é somente leitura.

Volume

Chrome 44+

Propriedades

  • volumeId

    string

  • gravável

    booleano

VolumeListChangedEvent

Chrome 44+

Propriedades

Métodos

chooseEntry()

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

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

Parâmetros

  • opções
  • callback

    função

    O parâmetro callback é semelhante a:

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

    • entry

      Entrada opcional

    • fileEntries

      FileEntry[] opcional

getDisplayPath()

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

    O parâmetro callback é semelhante a:

    (displayPath: string) => void

    • displayPath

      string

Retorna

  • Promise<string>

    Chrome 117+

    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+
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 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 é semelhante a:

    (volumes?: Volume[]) => void

Retorna

  • Promise<Volume[] | undefined>

    Chrome 117+

    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 é semelhante a:

    (entry: Entry) => void

    • entry

      Entrada

isRestorable()

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

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 é semelhante a:

    (isRestorable: boolean) => void

    • isRestorable

      booleano

Retorna

  • Promise<boolean>

    Chrome 117+

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

isWritableEntry()

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

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

Parâmetros

  • entry

    Entrada

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (isWritable: boolean) => void

    • isWritable

      booleano

Retorna

  • Promise<boolean>

    Chrome 117+

    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+
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 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 em uma sessão 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 optional

    O parâmetro callback é semelhante a:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem opcional

Retorna

  • Promise<FileSystem | undefined>

    Chrome 117+

    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 tempo de execução.

Parâmetros

  • ID

    string

  • callback

    função

    O parâmetro callback é semelhante a:

    (entry: Entry) => void

    • entry

      Entrada

retainEntry()

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

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

Parâmetros

  • entry

    Entrada

Retorna

  • string

Eventos

onVolumeListChanged

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

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

Parâmetros