chrome.fileBrowserHandler

Aktualisierungsdatum: 2026-09-25 robots: noindex

Beschreibung

Mit der chrome.fileBrowserHandler API können Sie den ChromeOS-Dateibrowser erweitern. Mit dieser API können Sie Nutzern beispielsweise ermöglichen, Dateien auf Ihre Website hochzuladen.

Berechtigungen

fileBrowserHandler

Verfügbarkeit

Nur ChromeOS Nur im Vordergrund

Der ChromeOS-Dateimanager wird aufgerufen, wenn der Nutzer entweder Alt+Umschalt+M drückt oder ein externes Speichergerät wie eine SD-Karte, einen USB-Stick, eine externe Festplatte oder eine Digitalkamera anschließt. Neben den Dateien auf externen Geräten kann der Dateibrowser auch Dateien anzeigen, die der Nutzer zuvor im System gespeichert hat.

Wenn der Nutzer eine oder mehrere Dateien auswählt, werden im Dateibrowser Schaltflächen für die gültigen Handler für diese Dateien hinzugefügt. Wenn Sie beispielsweise im folgenden Screenshot eine Datei mit dem Suffix „.png“ auswählen, wird die Schaltfläche „In Galerie speichern“ angezeigt, auf die der Nutzer klicken kann.

Screenshot des Dateibrowsers

Manifest

Sie müssen die Berechtigung „fileBrowserHandler“ im Erweiterungsmanifest deklarieren und das Feld „file_browser_handlers“ verwenden, um die Erweiterung als Handler für mindestens einen Dateityp zu registrieren. Sie sollten auch ein 16 × 16-Symbol für die Schaltfläche bereitstellen. Beispiel:

{
  "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"
  },
  ...
}

Dateibrowser-Handler implementieren

Um diese API zu verwenden, müssen Sie eine Funktion implementieren, die das onExecute-Ereignis von chrome.fileBrowserHandler verarbeitet. Ihre Funktion wird aufgerufen, wenn der Nutzer auf die Schaltfläche klickt, die Ihren Dateibrowser-Handler darstellt. Verwenden Sie in Ihrer Funktion die File System API, um auf die Dateiinhalte zuzugreifen. Hier ein Beispiel:

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
  }
});

Ihrem Event-Handler werden zwei Argumente übergeben:

id
Der „id“-Wert aus der Manifestdatei. Wenn Ihre Erweiterung mehrere Handler implementiert, können Sie anhand des ID-Werts sehen, welcher Handler ausgelöst wurde.
Details
Ein Objekt, das das Ereignis beschreibt. Die vom Nutzer ausgewählte(n) Datei(en) finden Sie im Feld entries dieses Objekts, das ein Array von FileSystemFileEntry-Objekten ist.

Typen

FileHandlerExecuteEventDetails

Nutzlast mit Ereignisdetails für das Ereignis „fileBrowserHandler.onExecute“.

Attribute

  • entries

    any[]

    Array von Entry-Instanzen, die Dateien darstellen, die Ziele dieser Aktion sind (im ChromeOS-Dateibrowser ausgewählt).

  • tab_id

    number optional

    Die ID des Tabs, der dieses Ereignis ausgelöst hat. Tab-IDs sind innerhalb einer Browsersitzung eindeutig.

Ereignisse

onExecute

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

Wird ausgelöst, wenn eine Dateisystemaktion über den ChromeOS-Dateimanager ausgeführt wird.

Parameter