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'éditeur de texte peut utiliser l'API pour lire et écrire des documents locaux. Tous les échecs sont signalés via chrome.runtime.lastError.
Autorisations
fileSystemDisponibilité
Types
AcceptOption
Propriétés
-
description
chaîne facultatif
Il s'agit de la description facultative de cette option. Si elle n'est pas présente, une description sera générée automatiquement. Elle contiendra généralement une liste étendue d'extensions valides (par exemple, "text/html" peut être développé en "*.html, *.htm").
-
extensions
string[] facultatif
Extensions à accepter, par exemple "jpg", "gif", "crx".
-
mimeTypes
string[] facultatif
Types MIME à accepter, par exemple "image/jpeg" ou "audio/*". "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 outil d'ouverture de fichier. Chaque option sera présentée à l'utilisateur final sous la forme d'un groupe unique.
-
acceptsAllTypes
boolean facultatif
Indique si tous les types de fichiers doivent être acceptés, 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
boolean facultatif
Indique si plusieurs fichiers sont acceptés. Cette fonctionnalité n'est disponible que pour openFile et openWritableFile. Le rappel de chooseEntry sera appelé avec une liste d'entrées si cette option est définie sur "true". Sinon, elle sera appelée avec une seule entrée.
-
suggestedName
chaîne facultatif
Nom de fichier suggéré qui sera présenté à l'utilisateur comme nom par défaut pour l'enregistrement. Cette option est facultative et ne s'applique qu'à "saveFile".
-
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 une entrée FileEntry en cas de réussite. À partir de Chrome 31, l'entrée FileEntry sera accessible en écriture si l'application dispose de l'autorisation "write" sous "fileSystem". Sinon, l'entrée FileEntry sera en lecture seule.
"openWritableFile"
Invite l'utilisateur à ouvrir un fichier existant et renvoie une entrée 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 "write" sous "fileSystem".
"saveFile"
Invite l'utilisateur à ouvrir un fichier existant ou un nouveau fichier, et renvoie une entrée 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 "write" sous "fileSystem".
"openDirectory"
Invite l'utilisateur à ouvrir un répertoire et renvoie un DirectoryEntry 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 "directory" sous "fileSystem". Si l'application dispose de l'autorisation "write" 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
boolean 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
callbackse 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'affichage d'un objet Entry. Le chemin d'affichage est basé sur le chemin d'accès complet du fichier ou du répertoire dans le système de fichiers local, mais il peut être rendu plus lisible pour l'affichage.
Paramètres
-
entry
Entrée
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(displayPath: string) => void
-
displayPath
chaîne
-
Renvoie
-
Promise<string>
Chrome 117 ou version ultérieureLes 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 une 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 ne sera pas défini et chrome.runtime.lastError sera défini.
Paramètres
Renvoie
-
Promise<Volume[] | undefined>
Chrome 117 ou version ultérieureLes 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
Obtenir une entrée accessible en écriture à partir d'une autre entrée. Cet appel échouera avec une erreur d'exécution si l'application ne dispose pas de l'autorisation "write" sous "fileSystem". Si l'entrée est un 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
callbackse 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 donné.
Paramètres
-
id
chaîne
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(isRestorable: boolean) => void
-
isRestorable
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 ou version ultérieureLes 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
callbackse présente comme suit :(isWritable: boolean) => void
-
isWritable
booléen
-
Renvoie
-
Promise<boolean>
Chrome 117 ou version ultérieureLes 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 dans une 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 ne sera pas défini et chrome.runtime.lastError sera défini.
Paramètres
-
options
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem facultatif
-
Renvoie
-
Promise<FileSystem | undefined>
Chrome 117 ou version ultérieureLes 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
callbackse 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écemment utilisées sont conservées, les appels à retainEntry et restoreEntry étant comptabilisé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
callbackse présente comme suit :(event: VolumeListChangedEvent) => void
-
événement
-