Description
Utilisez l'API chrome.fileSystem
pour créer, lire, parcourir et écrire dans le système de fichiers local de l'utilisateur. Cette API permet aux applications Chrome de lire et d'écrire dans un emplacement sélectionné par l'utilisateur. Par exemple, une application d'édition de texte peut utiliser l'API pour lire et écrire des documents locaux. Tous les échecs sont signalés via chrome.runtime.lastError.
Autorisations
fileSystem
Disponibilité
Types
AcceptOption
Propriétés
-
description
chaîne facultative
Description textuelle facultative de cette option. Si elle n'est pas présente, une description sera générée automatiquement. Elle contient généralement une liste étendue des extensions valides (par exemple, "text/html" peut être étendu à "*.html, *.htm").
-
extensions
string[] facultatif
Extensions à accepter, par exemple "jpg", "gif", "crx".
-
mimeTypes
string[] facultatif
Types MIME à accepter, par exemple "image/jpeg" ou "audio/*". L'un des éléments mimeTypes ou extensions doit contenir au moins un élément valide.
ChooseEntryOptions
Propriétés
-
accepte
AcceptOption[] facultatif
Liste facultative des options d'acceptation pour cet ouvre-fichier. Chaque option sera présentée à l'utilisateur final sous la forme d'un groupe unique.
-
acceptsAllTypes
booléen facultatif
Indique s'il faut accepter tous les types de fichiers, en plus des options spécifiées dans l'argument "accepts". La valeur par défaut est "true". Si le champ "accepts" n'est pas défini ou ne contient aucune entrée valide, il sera toujours réinitialisé sur "true".
-
acceptsMultiple
booléen facultatif
Indique si plusieurs fichiers peuvent être acceptés. Cette fonctionnalité n'est disponible que pour openFile et openWritableFile. Le rappel chooseEntry sera appelé avec une liste d'entrées si cette valeur est définie sur "true". Sinon, il sera appelé avec une seule entrée.
-
suggestedName
chaîne facultative
Nom de fichier suggéré qui sera présenté à l'utilisateur comme nom par défaut pour la lecture ou l'écriture. Ceci est facultatif.
-
type
ChooseEntryType facultatif
Type d'invite à afficher. La valeur par défaut est "openFile".
ChooseEntryType
Énumération
"openFile"
Invite l'utilisateur à ouvrir un fichier existant et renvoie un FileEntry en cas de succès. À partir de Chrome 31, l'élément FileEntry sera accessible en écriture si l'application dispose de l'autorisation d'écriture sous "fileSystem". Dans le cas contraire, l'élément FileEntry sera en lecture seule.
"openWritableFile"
Invite l'utilisateur à ouvrir un fichier existant et renvoie un FileEntry accessible en écriture en cas de succès. Les appels utilisant ce type échoueront avec une erreur d'exécution si l'application ne dispose pas de l'autorisation d'écriture sous "fileSystem".
"saveFile"
Invite l'utilisateur à ouvrir un fichier existant ou un nouveau fichier, et renvoie un FileEntry accessible en écriture en cas de réussite. Les appels utilisant ce type échoueront avec une erreur d'exécution si l'application ne dispose pas de l'autorisation d'écriture sous "fileSystem".
"openDirectory"
Invite l'utilisateur à ouvrir un répertoire et renvoie un DirectoryEntry en cas de succès. Les appels utilisant ce type échoueront avec une erreur d'exécution si l'application ne dispose pas de l'autorisation "directory" sous "fileSystem". Si l'application dispose de l'autorisation d'écriture sous "fileSystem", l'objet DirectoryEntry renvoyé sera accessible en écriture. Sinon, il sera en lecture seule. Nouveautés de Chrome 31.
RequestFileSystemOptions
Propriétés
-
volumeId
chaîne
ID du volume demandé.
-
accessible en écriture
booléen facultatif
Indique si le système de fichiers demandé doit être accessible en écriture. La valeur par défaut est "lecture seule".
Volume
Propriétés
-
volumeId
chaîne
-
accessible en écriture
booléen
VolumeListChangedEvent
Propriétés
-
volumes
Volume[]
Méthodes
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
Demandez à l'utilisateur de choisir un fichier ou un répertoire.
Paramètres
-
options
ChooseEntryOptions facultatif
-
callback
fonction
Le paramètre
callback
se présente comme suit :(entry?: Entry, fileEntries?: FileEntry[]) => void
-
entry
Entrée facultative
-
fileEntries
FileEntry[] facultatif
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
Obtenez le chemin d'accès à un objet Entry. Le chemin d'accès affiché est basé sur le chemin d'accès complet du fichier ou du répertoire sur le système de fichiers local, mais peut être rendu plus lisible à des fins d'affichage.
Paramètres
-
entry
Entrée
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :(displayPath: string) => void
-
displayPath
chaîne
-
Renvoie
-
Promise<string>
Chrome 117 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
Renvoie la liste des volumes disponibles pour requestFileSystem()
. L'autorisation de fichier manifeste "fileSystem": {"requestFileSystem"}
est requise. Disponible uniquement pour les applications kiosque exécutées dans la session kiosque. En cas d'erreur, volumes
sera indéfini et chrome.runtime.lastError
sera défini.
Paramètres
Renvoie
-
Promise<Volume[] | undefined>
Chrome 117 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
): void
Obtenez une entrée modifiable à partir d'une autre entrée. Cet appel échouera avec une erreur d'exécution si l'application ne dispose pas de l'autorisation d'écriture sous "fileSystem". Si l'entrée est une DirectoryEntry, cet appel échouera si l'application ne dispose pas de l'autorisation "directory" sous "fileSystem".
Paramètres
-
entry
Entrée
-
callback
fonction
Le paramètre
callback
se présente comme suit :(entry: Entry) => void
-
entry
Entrée
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
Indique si l'application est autorisée à restaurer l'entrée avec l'ID spécifié.
Paramètres
-
id
chaîne
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :(isRestorable: boolean) => void
-
isRestorable
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
Indique si cette entrée est accessible en écriture ou non.
Paramètres
-
entry
Entrée
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :(isWritable: boolean) => void
-
isWritable
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
): Promise<FileSystem | undefined>
Demande l'accès à un système de fichiers pour un volume représenté par options.volumeId
. Si options.writable
est défini sur "true", le système de fichiers sera accessible en écriture. Sinon, il sera en lecture seule. L'option writable
nécessite l'autorisation "fileSystem": {"write"}
dans le fichier manifeste. Disponible uniquement pour les applications kiosque exécutées en session kiosque. Pour le mode kiosque à lancement manuel, une boîte de dialogue de confirmation s'affiche au-dessus de la fenêtre de l'application active. En cas d'erreur, fileSystem
sera indéfini et chrome.runtime.lastError
sera défini.
Paramètres
-
options
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem facultatif
-
Renvoie
-
Promise<FileSystem | undefined>
Chrome 117 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
): void
Renvoie l'entrée de fichier avec l'ID donné si elle peut être restaurée. Sinon, cet appel échouera avec une erreur d'exécution.
Paramètres
-
id
chaîne
-
callback
fonction
Le paramètre
callback
se présente comme suit :(entry: Entry) => void
-
entry
Entrée
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
): string
Renvoie un ID qui peut être transmis à restoreEntry pour récupérer l'accès à une entrée de fichier donnée. Seules les 500 entrées les plus récentes sont conservées, où les appels à retainEntry et restoreEntry sont considérés comme des utilisations. Si l'application dispose de l'autorisation "retainEntries" sous "fileSystem", les entrées sont conservées indéfiniment. Sinon, les entrées ne sont conservées que pendant l'exécution de l'application et lors des redémarrages.
Paramètres
-
entry
Entrée
Renvoie
-
chaîne
Événements
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Appelé lorsqu'une liste de volumes disponibles est modifiée.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(event: VolumeListChangedEvent) => void
-
événement
-