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
fileBrowserHandlerDostępność
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ąć.

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
entriestego obiektu, które jest tablicą obiektówFileSystemFileEntry.
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
-
callback
funkcja
Parametr
callbackwygląda tak:(id: string, details: FileHandlerExecuteEventDetails) => void
-
id
tekst
-
szczegóły
-