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.

Uprawnienia

fileBrowserHandler

Dostępność

Tylko ChromeOS Tylko na pierwszym planie

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ąć.

Zrzut ekranu z przeglądarki plików

Plik manifestu

Uprawnienie „fileBrowserHandler” musisz zadeklarować w pliku manifestu rozszerzenia i użyć pola „file_browser_handlers”, aby zarejestrować rozszerzenie jako moduł obsługi co najmniej 1 typu pliku. Należy również udostępnić ikonę 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ł obsługi został aktywowany.
szczegóły
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