chrome.fileBrowserHandler

Opis

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

Pojęcia i zastosowanie

Przeglądarka plików w ChromeOS pojawia się, gdy użytkownik naciśnie Alt+Shift+M lub podłączy urządzenie pamięci zewnętrznej, takie jak karta SD, pendrive, dysk zewnętrzny lub aparat cyfrowy. Oprócz plików na urządzeniach zewnętrznych przeglądarka plików może wyświetlać również pliki zapisane wcześniej przez użytkownika w systemie.

Gdy użytkownik wybierze co najmniej 1 plik, przeglądarka plików dodaje przyciski reprezentujące prawidłowe moduły obsługi tych plików. Na przykład na poniższym zrzucie ekranu wybranie pliku z przyrostkiem „.png” powoduje wyświetlenie użytkownikowi przycisku „Zapisz w galerii”.

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

Uprawnienia

fileBrowserHandler

pliku manifestu rozszerzenia musisz zadeklarować uprawnienie "fileBrowserHandler".

Dostępność

Tylko w ChromeOS Tylko w tle

Aby zarejestrować rozszerzenie jako moduł obsługi co najmniej 1 typu pliku, musisz użyć pola "file_browser_handlers". Musisz też przesłać 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"
  },
  ...
}

Implementacja narzędzia do obsługi przeglądarki plików

Aby korzystać z tego interfejsu API, musisz zaimplementować funkcję, która obsługuje zdarzenie onExecute obiektu chrome.fileBrowserHandler. Funkcja zostanie wywołana, gdy użytkownik kliknie przycisk, który reprezentuje moduł obsługi przeglądarki plików. W swojej 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
  }
});

Modułowi obsługi zdarzenia przekazywane są 2 argumenty:

id
Wartość id z pliku manifestu. Jeśli Twoje rozszerzenie implementuje kilka modułów obsługi, możesz sprawdzić wartość identyfikatora, aby zobaczyć, który z nich został uruchomiony.
details
Obiekt opisujący zdarzenie. Wybrane przez użytkownika pliki 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 wystąpień Entry, która reprezentuje pliki będące 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,
)

Uruchamiane, gdy działanie dotyczące systemu plików jest wykonywane w przeglądarce plików ChromeOS.

Parametry