Gestion des fichiers sous Chrome OS

La gestion des fichiers vous permet de configurer ChromeOS afin que votre extension puisse ouvrir des fichiers à l'aide du menu "Ouvrir" du menu "Fichier" ou du menu "Ouvrir avec" du menu contextuel. Une fois le fichier ouvert, vous traitez ses données à l'aide de l'API Launch Handler de la plate-forme Web. Vous utilisez ensuite les API standards de la plate-forme Web pour afficher ou gérer le fichier.

Gestionnaire de fichiers ajouté au menu "Ouvrir" de ChromeOS.
Un gestionnaire de fichiers ajouté au menu "Ouvrir" de ChromeOS.

Disponibilité dans les extensions

ChromeOS 120 ou version ultérieure

Autorisations

Aucune autorisation n'est requise pour la gestion des fichiers.

Fichier manifeste

Vous devez ajouter le "file_handlers" tableau au fichier manifest.json.

Contextes compatibles

Cette API peut être utilisée dans les service workers d'extension, les pop-up, les panneaux latéraux ou les scripts de contenu.

Configurer un gestionnaire de fichiers

Chaque membre de "file_handlers" (c'est-à-dire chaque gestionnaire de fichiers) spécifie un ou plusieurs types de fichiers à gérer par une page d'extension spécifique.

Les gestionnaires que vous spécifiez seront ajoutés à la fenêtre "Fichiers" de ChromeOS, plus précisément aux menus "Ouvrir" et "Ouvrir avec". Ils n'apparaîtront dans ces menus que lorsque l'utilisateur sélectionnera un fichier avec l'extension spécifique. Par exemple, si un gestionnaire de fichiers spécifie .txt, les menus ChromeOS n'affichent ce gestionnaire que lorsqu'un fichier avec cette extension est sélectionné.

Traiter un fichier

Le gestionnaire de fichiers est un fichier HTML contenu dans votre extension. Lorsque l'utilisateur sélectionne votre gestionnaire dans un menu, le fichier HTML s'ouvre dans un nouvel onglet. Le traitement du fichier, que vous l'affichiez ou que vous l'utilisiez d'une autre manière, s'effectue avec JavaScript à l'aide des API de plate-forme Web appropriées. Le code de traitement doit se trouver dans un fichier JavaScript distinct et être inclus via une balise <script>, et doit également se trouver dans votre extension. Le fichier de script utilise l'interface LaunchQueue de l'API Launch Handler pour obtenir un objet FileSystemFileHandle.

Exemple

L'exemple suivant montre comment obtenir un objet FileSystemFileHandle à l'aide de l'interface LaunchQueue. Pour voir la gestion des fichiers en action, installez la démonstration de gestion des fichiers.

if ('launchQueue' in window) {
  launchQueue.setConsumer(async launchParams => {
    if (!launchParams.files || !launchParams.files.length) { return; }
    const fileHandle = launchParams.files[0];
  });
}
``````