chrome.fileSystem

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é

Premier plan uniquement

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

Chrome 44 et versions ultérieures

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

Chrome 44 et versions ultérieures

Propriétés

  • volumeId

    chaîne

  • accessible en écriture

    booléen

VolumeListChangedEvent

Chrome 44 et versions ultérieures

Propriétés

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()

Promise
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érieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getVolumeList()

Promise Chrome 44 ou version ultérieure
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

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (volumes?: Volume[]) => void

    • volumes

      Volume[] facultatif

Renvoie

  • Promise<Volume[] | undefined>

    Chrome 117 et versions ultérieures

    Les 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()

Promise
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érieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

isWritableEntry()

Promise
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érieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

requestFileSystem()

Promise Chrome 44 ou version ultérieure
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

  • 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érieures

    Les 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 44 et versions ultérieures
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Appelé lorsqu'une liste de volumes disponibles est modifiée.

Paramètres