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
fileSystemDisponibilidade
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
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
Propriedades
-
volumeId
string
-
gravável
booleano
VolumeListChangedEvent
Propriedades
-
volumes
Volume[]
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
ChooseEntryOptions opcional
-
callback
função
O parâmetro
callbacké semelhante a:(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 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()
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
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()
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()
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()
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
-
opções
-
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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Chamado quando uma lista de volumes disponíveis é alterada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(event: VolumeListChangedEvent) => void
-
evento
-