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
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
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
Propriedades
-
volumeId
string
-
gravável
booleano
VolumeListChangedEvent
Propriedades
-
volumes
Volume[]
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
ChooseEntryOptions opcional
-
callback
função
O parâmetro
callback
tem esta aparência:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
entry
Entrada opcional
-
fileEntries
FileEntry[] opcional
-
getDisplayPath()
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 recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getVolumeList()
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
Retorna
-
Promise<Volume[] | undefined>
Chrome 117 ou mais recenteAs 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()
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 recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
isWritableEntry()
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 recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
requestFileSystem()
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
-
opções
-
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 recenteAs 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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Chamado quando uma lista de volumes disponíveis é alterada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(event: VolumeListChangedEvent) => void
-
evento
-