chrome.fileBrowserHandler

refresh date: 2026-09-25 robots: noindex

Opis

Użyj interfejsu chrome.fileBrowserHandler API, aby rozszerzyć przeglądarkę plików w ChromeOS. Możesz na przykład użyć tego interfejsu API, aby umożliwić użytkownikom przesyłanie plików do Twojej witryny.

Uprawnienia

fileBrowserHandler

Dostępność

Tylko ChromeOS Tylko na pierwszym planie

Przeglądarka plików ChromeOS pojawia się, gdy użytkownik naciśnie Alt+Shift+M lub podłączy zewnętrzne urządzenie pamięci masowej, takie jak karta SD, klucz USB, dysk zewnętrzny lub aparat cyfrowy. Przeglądarka plików może wyświetlać nie tylko pliki na urządzeniach zewnętrznych, ale też pliki, które użytkownik wcześniej zapisał w systemie.

Gdy użytkownik wybierze co najmniej 1 plik, przeglądarka plików doda przyciski reprezentujące prawidłowe moduły obsługi tych plików. Na przykład na zrzucie ekranu poniżej wybranie pliku z sufiksem „.png” powoduje wyświetlenie przycisku „Zapisz w Galerii”, który użytkownik może kliknąć.

Zrzut ekranu przeglądarki plików

Plik manifestu

Musisz zadeklarować uprawnienie „fileBrowserHandler” w pliku manifestu rozszerzenia i użyć pola „file_browser_handlers”, aby zarejestrować rozszerzenie jako obsługujące co najmniej 1 typ pliku. Prześlij też ikonę o wymiarach 16x16 pikseli, która będzie wyświetlana na przycisku. Na przykład:

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

Implementowanie narzędzia do obsługi przeglądania plików

Aby korzystać z tego interfejsu API, musisz zaimplementować funkcję, która obsługuje zdarzenie onExecute elementu chrome.fileBrowserHandler. Funkcja zostanie wywołana za każdym razem, gdy użytkownik kliknie przycisk reprezentujący moduł obsługi przeglądarki plików. W funkcji użyj interfejsu File System API, aby uzyskać dostęp do zawartości pliku. Oto przykład:

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

Do modułu obsługi zdarzeń przekazywane są 2 argumenty:

id
Wartość „id” z pliku manifestu. Jeśli rozszerzenie implementuje wiele modułów obsługi, możesz sprawdzić wartość identyfikatora, aby zobaczyć, który moduł został wywołany.
szczegóły
Obiekt opisujący wydarzenie. Pliki wybrane przez użytkownika możesz pobrać z pola entries tego obiektu, które jest tablicą obiektów FileSystemFileEntry.

Typy

FileHandlerExecuteEventDetails

Ładunek szczegółów zdarzenia dla zdarzenia fileBrowserHandler.onExecute.

Właściwości

  • wpisy,

    any[]

    Tablica instancji Entry reprezentujących pliki, które są celami tego działania (wybrane w przeglądarce plików ChromeOS).

  • tab_id

    number opcjonalny

    Identyfikator karty, która wywołała to zdarzenie. Identyfikatory kart są unikalne w ramach sesji przeglądarki.

Wydarzenia

onExecute

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

Wywoływane, gdy działanie w systemie plików jest wykonywane z przeglądarki plików w ChromeOS.

Parametry