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
Tipos
AcceptOption
Propriedades
-
description
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.
-
Tipo
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
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
Propriedades
-
volumeId
string
-
gravável
boolean
VolumeListChangedEvent
Propriedades
-
volumes
Volume[]
Métodos
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
)
Peça ao usuário para escolher um arquivo ou diretório.
Parâmetros
-
do modelo.
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,
)
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 recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getVolumeList()
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
Retorna
-
Prometer<Volume[] | undefined>
Chrome 117 ou mais recentePromessas 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()
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 recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
isWritableEntry()
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 recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
requestFileSystem()
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
-
do modelo.
-
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 recentePromessas 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.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
-
event
-