chrome.fileBrowserHandler

Description

Utilisez l'API chrome.fileBrowserHandler pour étendre l'explorateur de fichiers de Chrome OS. Par exemple, vous pouvez utiliser cette API pour permettre aux utilisateurs d'importer des fichiers sur votre site Web.

Concepts et utilisation

L'explorateur de fichiers ChromeOS s'affiche lorsque l'utilisateur appuie sur Alt+Maj+M ou connecte un périphérique de stockage externe, tel qu'une carte SD, une clé USB, un disque externe ou un appareil photo numérique. En plus d'afficher les fichiers sur des périphériques externes, l'explorateur de fichiers peut également afficher les fichiers que l'utilisateur a précédemment enregistrés sur le système.

Lorsque l'utilisateur sélectionne un ou plusieurs fichiers, l'explorateur de fichiers ajoute des boutons représentant les gestionnaires valides pour ces fichiers. Par exemple, dans la capture d'écran suivante, sélectionner un fichier avec un fichier ".png" pour générer un clic "Enregistrer dans la galerie" sur lequel l'utilisateur peut cliquer.

<ph type="x-smartling-placeholder">
</ph> Navigateur de fichiers ChromeOS
Un explorateur de fichiers ChromeOS

Autorisations

fileBrowserHandler

Vous devez déclarer l'autorisation "fileBrowserHandler" dans le fichier manifeste de l'extension.

Disponibilité

<ph type="x-smartling-placeholder"></ph> ChromeOS uniquement Premier plan uniquement

Vous devez utiliser le champ "file_browser_handlers" pour enregistrer l'extension en tant que gestionnaire d'au moins un type de fichier. Vous devez également fournir une icône de 16 x 16 à afficher sur le bouton. Exemple :

{
  "name": "My extension",
  ...
  "file_browser_handlers": [
    {
      "id": "upload",
      "default_title": "Save to Gallery", // What the button will display
      "file_filters": [
        "filesystem:*.jpg",  // To match all files, use "filesystem:*.*"
        "filesystem:*.jpeg",
        "filesystem:*.png"
      ]
    }
  ],
  "permissions" : [
    "fileBrowserHandler"
  ],
  "icons": {
    "16": "icon16.png",
    "48": "icon48.png",
    "128": "icon128.png"
  },
  ...
}

Implémenter un gestionnaire d'explorateur de fichiers

Pour utiliser cette API, vous devez implémenter une fonction qui gère l'événement onExecute de chrome.fileBrowserHandler. Votre fonction sera appelée chaque fois que l'utilisateur cliquera sur le bouton qui représente votre gestionnaire d'explorateur de fichiers. Dans votre fonction, utilisez l'API File System pour accéder au contenu du fichier. Voici un exemple :

chrome.fileBrowserHandler.onExecute.addListener(async (id, details) => {
  if (id !== 'upload') {
    return;  // check if you have multiple file_browser_handlers
  }

  for (const entry of detail.entries) {
    // the FileSystemFileEntry doesn't have a Promise API, wrap in one
    const file = await new Promise((resolve, reject) => {
      entry.file(resolve, reject);
    });
    const buffer = await file.arrayBuffer();
    // do something with buffer
  }
});

Votre gestionnaire d'événements reçoit deux arguments:

id
Valeur id du fichier manifeste. Si votre extension implémente plusieurs gestionnaires, vous pouvez vérifier la valeur de l'ID pour identifier celui qui a été déclenché.
details
Objet décrivant l'événement. Vous pouvez obtenir le ou les fichiers sélectionnés par l'utilisateur dans le champ entries de cet objet, qui est un tableau d'objets FileSystemFileEntry.

Types

FileHandlerExecuteEventDetails

Charge utile des détails de l'événement fileBrowserHandler.onExecute.

Propriétés

  • entries

    tout[]

    Tableau d'instances Entry représentant les fichiers cibles de cette action (sélectionnés dans l'explorateur de fichiers ChromeOS).

  • tab_id

    numéro facultatif

    ID de l'onglet qui a déclenché cet événement. Les identifiants d'onglet sont uniques au sein d'une session de navigateur.

Événements

onExecute

chrome.fileBrowserHandler.onExecute.addListener(
  callback: function,
)

Déclenché lorsque l'action du système de fichiers est exécutée à partir de l'explorateur de fichiers ChromeOS.

Paramètres