chrome.fileSystemProvider

Opis

Użyj interfejsu chrome.fileSystemProvider API, aby utworzyć systemy plików, które będą dostępne w menedżerze plików w ChromeOS.

Uprawnienia

fileSystemProvider

Dostępność

Tylko ChromeOS

Aby używać interfejsu File System Provider API, musisz zadeklarować uprawnienie i sekcję „fileSystemProvider” w manifeście rozszerzenia. Na przykład:

{
  "name": "My extension",
  ...
  "permissions": [
    "fileSystemProvider"
  ],
  ...
  "file_system_provider_capabilities": {
    "configurable": true,
    "watchable": false,
    "multiple_mounts": true,
    "source": "network"
  },
  ...
}

Sekcja file_system_provider musi być zadeklarowana w ten sposób:

configurable (wartość logiczna) – opcjonalny
Określa, czy konfiguracja za pomocą onConfigureRequested jest obsługiwana. Domyślnie: fałsz.
multiple_mounts (wartość logiczna) – opcjonalny
Czy obsługiwanych jest więcej niż 1 podłączony system plików. Domyślnie: fałsz.
watchable (wartość logiczna) – opcjonalny
Czy ustawianie obserwatorów i powiadamianie o zmianach jest obsługiwane. Domyślnie: fałsz.
source (wyliczenie „file”, „device” lub „network”) – wymagane
 Źródło danych dla zamontowanych systemów plików.

Aplikacja Pliki używa powyższych informacji do prawidłowego renderowania powiązanych elementów interfejsu. Jeśli na przykład wartość configurable to „true”, zostanie wyświetlony element menu do konfigurowania głośności. Podobnie, jeśli zasada multiple_mounts ma wartość true, aplikacja Pliki umożliwi dodanie z interfejsu więcej niż jednego punktu montowania. Jeśli wartość watchable to false, zostanie wyświetlony przycisk odświeżania. Pamiętaj, że jeśli to możliwe, warto dodać obsługę obserwatorów, aby zmiany w systemie plików były odzwierciedlane natychmiast i automatycznie.

Przegląd

Interfejs File System Provider API umożliwia rozszerzeniom obsługę wirtualnych systemów plików, które są dostępne w menedżerze plików w ChromeOS. Przykłady zastosowań to rozpakowywanie archiwów i dostęp do plików w usłudze w chmurze innej niż Dysk.

Podłączanie systemów plików

Rozszerzenia mogą udostępniać zawartość systemu plików ze źródła zewnętrznego (np. serwera zdalnego lub urządzenia USB) albo używać jako danych wejściowych pliku lokalnego (np. archiwum).

Aby pisać systemy plików, które są modułami obsługi plików (źródło to "file"), dostawca musi być aplikacją pakietową, ponieważ zdarzenie onLaunched nie jest dostępne dla rozszerzeń.

Jeśli źródłem jest sieć lub urządzenie, system plików powinien być zamontowany, gdy wywoływane jest zdarzenie onMountRequested.

Źródło danych systemu plików Punkt wejścia
"file" Dostępne tylko w przypadku aplikacji w pakiecie.
"device" lub "network" onMountRequested

Konfigurowanie systemów plików

Po zamontowaniu udostępnionych systemów plików można je skonfigurować za pomocą zdarzenia onConfigureRequested. Jest to szczególnie przydatne w przypadku systemów plików, które udostępniają zawartość przez sieć, aby ustawić odpowiednie dane logowania. Obsługa tego zdarzenia jest opcjonalna.

Cykl życia

Po zamontowaniu systemy plików są zapamiętywane przez Chrome i automatycznie ponownie montowane po ponownym uruchomieniu. Dlatego po podłączeniu systemu plików przez rozszerzenie dostarczające pozostanie on podłączony, dopóki rozszerzenie nie zostanie odłączone lub nie wywoła metody unmount.

Typy

AbortRequestedOptions

Właściwości

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • operationRequestId

    liczba

    Identyfikator żądania, które ma zostać przerwane.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

Action

Chrome 45 lub nowsza

Właściwości

  • id

    ciąg znaków

    Identyfikator działania. Dowolny ciąg znaków lub CommonActionId w przypadku typowych działań.

  • tytuł

    string opcjonalny

    Nazwa działania. W przypadku typowych działań może być ignorowany.

AddWatcherRequestedOptions

Właściwości

  • entryPath

    ciąg znaków

    Ścieżka wpisu, który ma być obserwowany.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • rekursywny

    Wartość logiczna

    Określa, czy obserwacja ma obejmować wszystkie wpisy podrzędne rekursywnie. Wartość prawda może być ustawiona tylko dla katalogów.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

Change

Właściwości

  • changeType

    Rodzaj zmiany, która została wprowadzona we wpisie.

  • cloudFileInfo

    CloudFileInfo opcjonalnie

    Chrome 125 lub nowsza

    Informacje dotyczące pliku, jeśli jest on przechowywany w systemie plików w chmurze.

  • entryPath

    ciąg znaków

    Ścieżka zmienionego wpisu.

ChangeType

Typ zmiany wykrytej w obserwowanym katalogu.

Typ wyliczeniowy

„CHANGED”

"DELETED"

CloseFileRequestedOptions

Właściwości

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • openRequestId

    liczba

    Identyfikator żądania użyty do otwarcia pliku.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

CloudFileInfo

Chrome 125 lub nowsza

Właściwości

  • versionTag

    string opcjonalny

    Tag reprezentujący wersję pliku.

CloudIdentifier

Chrome 117 lub nowsza

Właściwości

  • id

    ciąg znaków

    Identyfikator dostawcy dla danego pliku lub katalogu.

  • providerName

    ciąg znaków

    Identyfikator dostawcy usługi przechowywania danych w chmurze (np. „drive.google.com”).

CommonActionId

Chrome 45 lub nowsza

Lista typowych działań. "SHARE" służy do udostępniania plików innym osobom. "SAVE_FOR_OFFLINE", aby przypiąć plik (zapisać go do użytku offline). "OFFLINE_NOT_NECESSARY", aby powiadomić, że plik nie musi być już przechowywany w celu dostępu offline. Używane przez onGetActionsRequestedonExecuteActionRequested.

Typ wyliczeniowy

"SAVE_FOR_OFFLINE"

"OFFLINE_NOT_NECESSARY"

„UDOSTĘPNIJ”

ConfigureRequestedOptions

Chrome 44 lub nowszy

Właściwości

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików do skonfigurowania.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

CopyEntryRequestedOptions

Właściwości

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

  • sourcePath

    ciąg znaków

    Ścieżka źródłowa wpisu do skopiowania.

  • targetPath

    ciąg znaków

    Ścieżka docelowa operacji kopiowania.

CreateDirectoryRequestedOptions

Właściwości

  • directoryPath

    ciąg znaków

    Ścieżka katalogu do utworzenia.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • rekursywny

    Wartość logiczna

    Określa, czy operacja jest rekurencyjna (tylko w przypadku katalogów).

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

CreateFileRequestedOptions

Właściwości

  • filePath

    ciąg znaków

    Ścieżka pliku, który ma zostać utworzony.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

DeleteEntryRequestedOptions

Właściwości

  • entryPath

    ciąg znaków

    Ścieżka wpisu do usunięcia.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • rekursywny

    Wartość logiczna

    Określa, czy operacja jest rekurencyjna (tylko w przypadku katalogów).

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

EntryMetadata

Właściwości

  • cloudFileInfo

    CloudFileInfo opcjonalnie

    Chrome 125 lub nowsza

    Informacje, które identyfikują konkretny plik w bazowym systemie plików w chmurze. Musi być podany, jeśli jest wymagany w options, a plik jest przechowywany w chmurze.

  • cloudIdentifier

    CloudIdentifier opcjonalny

    Chrome 117 lub nowsza

    Reprezentacja tego wpisu w Cloud Storage. Musi być podany, jeśli jest wymagany w options, a plik jest przechowywany w chmurze. W przypadku plików lokalnych, które nie są przechowywane w chmurze, w odpowiedzi na żądanie powinna być zwracana wartość „undefined”.

  • isDirectory

    wartość logiczna opcjonalna

    Wartość „prawda”, jeśli jest to katalog. Wymagany, jeśli jest wymagany w options.

  • mimeType

    string opcjonalny

    Typ MIME wpisu. Zawsze opcjonalny, ale powinien być podany, jeśli jest wymagany w options.

  • modificationTime

    Data opcjonalnie

    Czas ostatniej modyfikacji tego wpisu. Wymagany, jeśli jest wymagany w options.

  • nazwa

    string opcjonalny

    Nazwa tego wpisu (nie pełna nazwa ścieżki). Nie może zawierać znaku „/”. W przypadku katalogu głównego musi być pusta. Wymagany, jeśli jest wymagany w options.

  • rozmiar

    number opcjonalny

    Rozmiar pliku w bajtach. Wymagany, jeśli jest wymagany w options.

  • miniatura

    string opcjonalny

    Obraz miniatury jako identyfikator URI danych w formacie PNG, JPEG lub WEBP o rozmiarze maksymalnie 32 KB. Opcjonalny, ale można go podać tylko wtedy, gdy jest to wyraźnie wymagane przez zdarzenie onGetMetadataRequested.

ExecuteActionRequestedOptions

Chrome 45 lub nowsza

Właściwości

  • actionId

    ciąg znaków

    Identyfikator działania, które ma zostać wykonane.

  • entryPaths

    string[]

    Chrome 47 lub nowsza

    Zbiór ścieżek wpisów, które mają być używane na potrzeby działania.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

FileSystemInfo

Właściwości

  • wyświetlanaNazwa

    ciąg znaków

    Zrozumiała dla człowieka nazwa systemu plików.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików.

  • openedFiles

    Lista aktualnie otwartych plików.

  • openedFilesLimit

    liczba

    Maksymalna liczba plików, które można otworzyć jednocześnie. Jeśli wartość wynosi 0, nie ma ograniczeń.

  • supportsNotifyTag

    wartość logiczna opcjonalna

    Chrome 45 lub nowsza

    Czy system plików obsługuje pole tag do obserwowania katalogów.

  • obserwujący,
    Chrome 45 lub nowsza

    Lista obserwujących.

  • z możliwością zapisu,

    Wartość logiczna

    Czy system plików obsługuje operacje, które mogą zmieniać zawartość systemu plików (np. tworzenie, usuwanie lub zapisywanie plików).

GetActionsRequestedOptions

Chrome 45 lub nowsza

Właściwości

  • entryPaths

    string[]

    Chrome 47 lub nowsza

    Lista ścieżek wpisów na liście działań.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

GetMetadataRequestedOptions

Właściwości

  • cloudFileInfo

    Wartość logiczna

    Chrome 125 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość cloudFileInfo.

  • cloudIdentifier

    Wartość logiczna

    Chrome 117 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość cloudIdentifier.

  • entryPath

    ciąg znaków

    Ścieżka wpisu, dla którego chcesz pobrać metadane.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • isDirectory

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość is_directory.

  • mimeType

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość mimeType.

  • modificationTime

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość modificationTime.

  • nazwa

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość name.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

  • rozmiar

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość size.

  • miniatura

    Wartość logiczna

    Ustaw na true, jeśli wymagana jest wartość thumbnail.

MountOptions

Właściwości

  • wyświetlanaNazwa

    ciąg znaków

    Zrozumiała dla człowieka nazwa systemu plików.

  • fileSystemId

    ciąg znaków

    Identyfikator ciągu tekstowego systemu plików. Musi być niepowtarzalny w przypadku każdego rozszerzenia.

  • openedFilesLimit

    number opcjonalny

    Maksymalna liczba plików, które można otworzyć jednocześnie. Jeśli nie podasz żadnej wartości lub podasz wartość 0, nie będzie limitu.

  • trwałe,

    wartość logiczna opcjonalna

    Chrome 64 lub nowsza

    Określa, czy platforma powinna wznowić system plików podczas następnej sesji logowania. Domyślnie ma wartość „true”.

  • supportsNotifyTag

    wartość logiczna opcjonalna

    Chrome 45 lub nowsza

    Określa, czy system plików obsługuje pole tag w przypadku obserwowanych katalogów.

  • z możliwością zapisu,

    wartość logiczna opcjonalna

    Czy system plików obsługuje operacje, które mogą zmieniać zawartość systemu plików (np. tworzenie, usuwanie lub zapisywanie plików).

MoveEntryRequestedOptions

Właściwości

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

  • sourcePath

    ciąg znaków

    Ścieżka źródłowa wpisu, który ma zostać przeniesiony w nowe miejsce.

  • targetPath

    ciąg znaków

    Ścieżka docelowa operacji kopiowania.

NotifyOptions

Właściwości

  • changeType

    Typ zmiany, która zaszła w obserwowanym wpisie. Jeśli zostanie USUNIĘTY, obserwowany wpis zostanie automatycznie usunięty z listy obserwowanych wpisów.

  • Zmiany

    Change[] opcjonalne

    Lista zmian wprowadzonych w elementach obserwowanego katalogu (w tym w samym elemencie).

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą zmianą.

  • observedPath

    ciąg znaków

    Ścieżka zaobserwowanego wpisu.

  • rekursywny

    Wartość logiczna

    Tryb zaobserwowanego wpisu.

  • tag

    string opcjonalny

    Tag powiadomienia. Wymagane, jeśli system plików został podłączony za pomocą opcji supportsNotifyTag. Pamiętaj, że ten flag jest niezbędny do wysyłania powiadomień o zmianach, które zaszły nawet wtedy, gdy system był wyłączony.

OpenedFile

Właściwości

  • filePath

    ciąg znaków

    Ścieżka otwartego pliku.

  • Określa, czy plik został otwarty do odczytu czy zapisu.

  • openRequestId

    liczba

    Identyfikator żądania, który będzie używany przez kolejne żądania odczytu/zapisu i zamknięcia.

OpenFileMode

Tryb otwierania pliku. Używane przez onOpenFileRequested.

Typ wyliczeniowy

„READ”

„WRITE”

OpenFileRequestedOptions

Właściwości

  • filePath

    ciąg znaków

    Ścieżka pliku do otwarcia.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • Określa, czy plik będzie używany do odczytu czy zapisu.

  • requestId

    liczba

    Identyfikator żądania, który będzie używany przez kolejne żądania odczytu/zapisu i zamknięcia.

ProviderError

Kody błędów używane przez rozszerzenia w odpowiedzi na żądania, a także w przypadku błędów podczas wywoływania metod interfejsu API. Aby osiągnąć sukces, należy użyć "OK".

Typ wyliczeniowy

„OK”

„FAILED”

„IN_USE”

„EXISTS”

"NOT_FOUND"

„ACCESS_DENIED”

„TOO_MANY_OPENED”

„NO_MEMORY”

„NO_SPACE”

„NOT_A_DIRECTORY”

„INVALID_OPERATION”

„SECURITY”

„ABORT”

„NOT_A_FILE”

„NOT_EMPTY”

„INVALID_URL”

„IO”

ReadDirectoryRequestedOptions

Właściwości

  • directoryPath

    ciąg znaków

    Ścieżka katalogu, którego zawartość jest wymagana.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • isDirectory

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość is_directory.

  • mimeType

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość mimeType.

  • modificationTime

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość modificationTime.

  • nazwa

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość name.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

  • rozmiar

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość size.

  • miniatura

    Wartość logiczna

    Chrome 49 lub nowsza

    Ustaw na true, jeśli wymagana jest wartość thumbnail.

ReadFileRequestedOptions

Właściwości

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • długość

    liczba

    Liczba bajtów do zwrócenia.

  • przesunięcie,

    liczba

    Pozycja w pliku (w bajtach), od której ma się rozpocząć odczyt.

  • openRequestId

    liczba

    Identyfikator żądania użyty do otwarcia pliku.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

RemoveWatcherRequestedOptions

Właściwości

  • entryPath

    ciąg znaków

    Ścieżka oglądanej pozycji.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • rekursywny

    Wartość logiczna

    Tryb obserwującego.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

TruncateRequestedOptions

Właściwości

  • filePath

    ciąg znaków

    Ścieżka pliku, który ma zostać obcięty.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • długość

    liczba

    Liczba bajtów, które mają zostać zachowane po zakończeniu operacji.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

UnmountOptions

Właściwości

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików do odmontowania.

UnmountRequestedOptions

Właściwości

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików do odmontowania.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

Watcher

Właściwości

  • entryPath

    ciąg znaków

    Ścieżka obserwowanego wpisu.

  • lastTag

    string opcjonalny

    Tag użyty w ostatnim powiadomieniu dla obserwatora.

  • rekursywny

    Wartość logiczna

    Określa, czy obserwowanie powinno obejmować wszystkie wpisy podrzędne rekurencyjnie. Wartość prawda może być ustawiona tylko dla katalogów.

WriteFileRequestedOptions

Właściwości

  • dane

    ArrayBuffer

    Bufor bajtów do zapisania w pliku.

  • fileSystemId

    ciąg znaków

    Identyfikator systemu plików powiązanego z tą operacją.

  • przesunięcie,

    liczba

    Pozycja w pliku (w bajtach), od której ma się rozpocząć zapisywanie bajtów.

  • openRequestId

    liczba

    Identyfikator żądania użyty do otwarcia pliku.

  • requestId

    liczba

    Unikalny identyfikator tego żądania.

Metody

get()

chrome.fileSystemProvider.get(
  fileSystemId: string,
)
: Promise<FileSystemInfo>

Zwraca informacje o systemie plików z przekazanym parametrem fileSystemId.

Parametry

  • fileSystemId

    ciąg znaków

Zwroty

getAll()

chrome.fileSystemProvider.getAll(): Promise<FileSystemInfo[]>

Zwraca wszystkie systemy plików zamontowane przez rozszerzenie.

Zwroty

mount()

chrome.fileSystemProvider.mount(
  options: MountOptions,
)
: Promise<void>

Podłącza system plików z podanymi wartościami fileSystemIddisplayName. displayName będzie widoczna w panelu po lewej stronie aplikacji Pliki. displayName może zawierać dowolne znaki, w tym „/”, ale nie może być pustym ciągiem znaków. displayName musi być opisowe, ale nie musi być unikalne. fileSystemId nie może być pustym ciągiem znaków.

W zależności od typu montowanego systemu plików opcja source musi być odpowiednio ustawiona.

W przypadku błędu parametr runtime.lastError zostanie ustawiony na odpowiedni kod błędu.

Parametry

Zwroty

  • Promise<void>

    Chrome w wersji 96 lub nowszej

notify()

Chrome 45 lub nowsza
chrome.fileSystemProvider.notify(
  options: NotifyOptions,
)
: Promise<void>

Powiadamia o zmianach w obserwowanym katalogu w observedPath w trybie recursive. Jeśli system plików jest zamontowany z opcją supportsNotifyTag, należy podać opcję tag, a wszystkie zmiany od ostatniego powiadomienia są zawsze zgłaszane, nawet jeśli system został wyłączony. Ostatni tag można uzyskać za pomocą getAll.

Aby korzystać z tej funkcji, opcja manifestu file_system_provider.notify musi mieć wartość Prawda.

Wartość tag może być dowolnym ciągiem znaków, który jest unikalny dla każdego wywołania, dzięki czemu można zidentyfikować ostatnie zarejestrowane powiadomienie. Jeśli np. rozszerzenie dostarczające zaczyna działać po ponownym uruchomieniu, a tag ostatniego zarejestrowanego powiadomienia to „123”, powinno ono wywołać notify w przypadku wszystkich zmian, które nastąpiły od zmiany oznaczonej tagiem „123”. Nie może być pustym ciągiem znaków.

Nie wszyscy dostawcy mogą udostępnić tag, ale jeśli system plików ma dziennik zmian, tagiem może być np. numer zmiany lub numer wersji.

Pamiętaj, że jeśli usuniesz katalog nadrzędny, wszystkie wpisy podrzędne również zostaną usunięte, a jeśli są obserwowane, interfejs API musi zostać o tym powiadomiony. Jeśli zmienisz nazwę katalogu, wszystkie wpisy podrzędne zostaną usunięte, ponieważ nie będą już znajdować się pod pierwotnymi ścieżkami.

W przypadku błędu parametr runtime.lastError zostanie ustawiony na odpowiedni kod błędu.

Parametry

Zwroty

  • Promise<void>

    Chrome w wersji 96 lub nowszej

unmount()

chrome.fileSystemProvider.unmount(
  options: UnmountOptions,
)
: Promise<void>

Odmontowuje system plików o podanym identyfikatorze fileSystemId. Musi zostać wywołana po wywołaniu funkcji onUnmountRequested. Rozszerzenie udostępniające może też podjąć decyzję o odmontowaniu, jeśli nie zostanie o to poproszone (np. w przypadku utraty połączenia lub błędu pliku).

W przypadku błędu parametr runtime.lastError zostanie ustawiony na odpowiedni kod błędu.

Parametry

Zwroty

  • Promise<void>

    Chrome w wersji 96 lub nowszej

Wydarzenia

onAbortRequested

chrome.fileSystemProvider.onAbortRequested.addListener(
  callback: function,
)

Występuje, gdy zażądano przerwania operacji za pomocą operationRequestId. Operację wykonaną za pomocą operationRequestId należy natychmiast zatrzymać i wykonać successCallback tej prośby o przerwanie. Jeśli przerwanie się nie powiedzie, należy wywołać funkcję errorCallback. Pamiętaj, że wywołania zwrotne przerwanej operacji nie mogą być wywoływane, ponieważ zostaną zignorowane. Pomimo wywołania funkcji errorCallback żądanie może zostać przerwane.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void

onAddWatcherRequested

Chrome 45 lub nowsza
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
  callback: function,
)

Wywoływane, gdy zostanie wysłana prośba o ustawienie nowego obserwatora katalogu. Jeśli wystąpi błąd, należy wywołać funkcję errorCallback.

Parametry

onCloseFileRequested

chrome.fileSystemProvider.onCloseFileRequested.addListener(
  callback: function,
)

Wywoływane, gdy użytkownik chce zamknąć plik otwarty wcześniej w openRequestId.

Parametry

onConfigureRequested

Chrome 44 lub nowszy
chrome.fileSystemProvider.onConfigureRequested.addListener(
  callback: function,
)

Wywoływane, gdy wymagane jest wyświetlenie okna konfiguracji dla fileSystemId. Jeśli jest obsługiwany, opcja file_system_provider.configurable w pliku manifestu musi mieć wartość „true”.

Parametry

onCopyEntryRequested

chrome.fileSystemProvider.onCopyEntryRequested.addListener(
  callback: function,
)

Występuje, gdy żądane jest skopiowanie wpisu (rekursywnie, jeśli jest to katalog). Jeśli wystąpi błąd, należy wywołać funkcję errorCallback.

Parametry

onCreateDirectoryRequested

chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
  callback: function,
)

Występuje, gdy zostanie wysłane żądanie utworzenia katalogu. Jeśli katalog docelowy już istnieje, operacja musi zakończyć się niepowodzeniem z błędem EXISTS. Jeśli wartość recursive to prawda, wszystkie brakujące katalogi w ścieżce katalogu muszą zostać utworzone.

Parametry

onCreateFileRequested

chrome.fileSystemProvider.onCreateFileRequested.addListener(
  callback: function,
)

Występuje, gdy zostanie wysłana prośba o utworzenie pliku. Jeśli plik już istnieje, należy wywołać funkcję errorCallback z kodem błędu "EXISTS".

Parametry

onDeleteEntryRequested

chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
  callback: function,
)

Wywoływany, gdy zostanie zgłoszone żądanie usunięcia wpisu. Jeśli wartość recursive to „true” i wpis jest katalogiem, wszystkie wpisy w nim również muszą zostać usunięte rekursywnie.

Parametry

onExecuteActionRequested

Chrome 48 lub nowsza
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
  callback: function,
)

Występuje, gdy zażądano wykonania działania w przypadku zestawu plików lub katalogów. Po wykonaniu działania należy wywołać funkcję successCallback. W przypadku błędu należy wywołać funkcję errorCallback.

Parametry

onGetActionsRequested

Chrome 48 lub nowsza
chrome.fileSystemProvider.onGetActionsRequested.addListener(
  callback: function,
)

Występuje, gdy żądana jest lista działań dla zestawu plików lub katalogów w entryPaths. Wszystkie zwrócone działania muszą być odpowiednie dla każdego wpisu. Jeśli nie ma takich działań, powinna zostać zwrócona pusta tablica. Działania muszą być zwracane w wywołaniu successCallback. W przypadku błędu należy wywołać funkcję errorCallback.

Parametry

onGetMetadataRequested

chrome.fileSystemProvider.onGetMetadataRequested.addListener(
  callback: function,
)

Występuje, gdy zażądano metadanych pliku lub katalogu w lokalizacji entryPath. Metadane muszą być zwracane w wywołaniu successCallback. W przypadku błędu należy wywołać funkcję errorCallback.

Parametry

onMountRequested

Chrome 44 lub nowszy
chrome.fileSystemProvider.onMountRequested.addListener(
  callback: function,
)

Wywoływane, gdy pojawi się prośba o wyświetlenie okna dialogowego do montowania nowego systemu plików. Jeśli rozszerzenie lub aplikacja jest modułem obsługi plików, to zdarzenie nie powinno być obsługiwane. Zamiast tego należy obsługiwać app.runtime.onLaunched, aby montować nowe systemy plików po otwarciu pliku. W przypadku wielu miejsc montażu opcja manifestu file_system_provider.multiple_mounts musi mieć wartość „true”.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (successCallback: function, errorCallback: function) => void

    • successCallback

      funkcja

      Parametr successCallback wygląda tak:

      () => void

    • errorCallback

      funkcja

      Parametr errorCallback wygląda tak:

      (error: ProviderError) => void

onMoveEntryRequested

chrome.fileSystemProvider.onMoveEntryRequested.addListener(
  callback: function,
)

Występuje, gdy zostanie zgłoszona prośba o przeniesienie wpisu (rekursywnie, jeśli jest to katalog). Jeśli wystąpi błąd, należy wywołać funkcję errorCallback.

Parametry

onOpenFileRequested

chrome.fileSystemProvider.onOpenFileRequested.addListener(
  callback: function,
)

Występuje, gdy żądane jest otwarcie pliku w filePath. Jeśli plik nie istnieje, operacja musi się nie powieść. Maksymalną liczbę plików otwartych jednocześnie można określić za pomocą parametru MountOptions.

Parametry

onReadDirectoryRequested

chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
  callback: function,
)

Wywoływane, gdy zażądano zawartości katalogu w lokalizacji directoryPath. Wyniki muszą być zwracane w częściach przez wielokrotne wywoływanie funkcji successCallback. W przypadku błędu należy wywołać funkcję errorCallback.

Parametry

onReadFileRequested

chrome.fileSystemProvider.onReadFileRequested.addListener(
  callback: function,
)

Występuje, gdy zażądano odczytu zawartości pliku otwartego wcześniej za pomocą funkcji openRequestId. Wyniki muszą być zwracane w częściach przez wielokrotne wywoływanie funkcji successCallback. W przypadku błędu należy wywołać funkcję errorCallback.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void

    • successCallback

      funkcja

      Parametr successCallback wygląda tak:

      (data: ArrayBuffer, hasMore: boolean) => void

      • dane

        ArrayBuffer

      • hasMore

        Wartość logiczna

    • errorCallback

      funkcja

      Parametr errorCallback wygląda tak:

      (error: ProviderError) => void

onRemoveWatcherRequested

Chrome 45 lub nowsza
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
  callback: function,
)

Wywoływane, gdy należy usunąć obserwatora. Jeśli wystąpi błąd, należy wywołać funkcję errorCallback.

Parametry

onTruncateRequested

chrome.fileSystemProvider.onTruncateRequested.addListener(
  callback: function,
)

Występuje, gdy zostanie przesłana prośba o skrócenie pliku do żądanej długości. Jeśli wystąpi błąd, należy wywołać funkcję errorCallback.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void

onUnmountRequested

chrome.fileSystemProvider.onUnmountRequested.addListener(
  callback: function,
)

Występuje, gdy zażądano odmontowania systemu plików o identyfikatorze fileSystemId. W odpowiedzi metoda interfejsu API unmount musi być wywoływana razem z successCallback. Jeśli odmontowanie nie jest możliwe (np. z powodu oczekującej operacji), należy wywołać funkcję errorCallback.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void

onWriteFileRequested

chrome.fileSystemProvider.onWriteFileRequested.addListener(
  callback: function,
)

Występuje, gdy żądane jest zapisanie treści w pliku otwartym wcześniej za pomocą openRequestId.

Parametry