chrome.fileBrowserHandler

Opis

Używaj interfejsu chrome.fileBrowserHandler API, aby rozszerzać możliwości przeglądarki plików Chrome OS. Dzięki niemu możesz na przykład umożliwić użytkownikom przesyłanie plików do Twojej witryny.

Pojęcia i zastosowanie

Przeglądarka plików ChromeOS jest wyświetlana, gdy użytkownik naciśnie Alt + Shift + M lub połączy się z zewnętrznym urządzeniem pamięci masowej, takim jak karta SD, klucz USB, dysk zewnętrzny czy aparat cyfrowy. Poza wyświetlaniem plików na urządzeniach zewnętrznych przeglądarka plików może też wyświetlać pliki wcześniej zapisane przez użytkownika 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 po wybraniu pliku z sufiksem „.png” pojawi się przycisk „Zapisz w galerii”, który użytkownik może kliknąć.

Przeglądarka plików w ChromeOS.
Przeglądarka plików w ChromeOS.

Uprawnienia

fileBrowserHandler

Uprawnienie "fileBrowserHandler" musisz zadeklarować w pliku manifestu rozszerzenia.

Dostępność

Tylko ChromeOS Tylko na pierwszym planie

Aby zarejestrować rozszerzenie jako moduł obsługi co najmniej jednego typu pliku, musisz użyć pola "file_browser_handlers". Należy również udostępnić ikonę o wymiarach 16 x 16, 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"
  },
  ...
}

Wdrażanie modułu obsługi plików w przeglądarce

Aby użyć tego interfejsu API, musisz zaimplementować funkcję, która obsługuje zdarzenie onExecute chrome.fileBrowserHandler. Funkcja będzie wywoływana za każdym razem, gdy użytkownik kliknie przycisk reprezentujący moduł obsługi przeglądarki plików. Aby uzyskać dostęp do zawartości pliku w funkcji, użyj interfejsu File System API. 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
  }
});

Moduł obsługi zdarzeń otrzymuje 2 argumenty:

id
Wartość id z pliku manifestu. Jeśli rozszerzenie ma wiele modułów obsługi, możesz sprawdzić wartość identyfikatora, aby zobaczyć, który moduł został aktywowany.
details
Obiekt opisujący zdarzenie. 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

    każdy[]

    Tablica instancji wpisów reprezentujących pliki, które są celem tego działania (wybrana w przeglądarce plików ChromeOS).

  • tab_id

    Liczba opcjonalnie

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

Uruchamiane po wykonaniu działania systemu plików w przeglądarce plików ChromeOS.

Parametry