Opis
Do tworzenia systemów plików, do których można uzyskać dostęp za pomocą menedżera plików w Chrome OS, użyj interfejsu API chrome.fileSystemProvider
.
Uprawnienia
fileSystemProvider
Dostępność
Musisz zadeklarować atrybut „fileSystemProvider” i sekcji w pliku manifestu rozszerzenia, aby umożliwić korzystanie z interfejsu File System Provider API. 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) – opcjonalna- Wskazuje, czy konfiguracja jest obsługiwana przez onConfigureRequest. Domyślnie: false (fałsz).
multiple_mounts
(wartość logiczna) – opcjonalna- Określenie, czy obsługiwanych jest wiele (więcej niż jeden) podłączonych systemów plików. Domyślnie: false (fałsz).
watchable
(wartość logiczna) – opcjonalna- Możliwość ustawiania obserwatorów i powiadamiania o zmianach. Domyślnie: false (fałsz).
source
(wyliczenie „file”, „device” lub „network”) – wymagane- Źródło danych dla podłączonych systemów plików.
Aplikacja Files używa powyższych informacji, aby odpowiednio wyświetlać powiązane elementy interfejsu. Jeśli na przykład configurable
ma wartość Prawda, pozycja menu do konfigurowania woluminów będzie renderowana. Podobnie, jeśli multiple_mounts
ma wartość true
, aplikacja Files umożliwia dodawanie więcej niż 1 punktu podłączania z interfejsu użytkownika. Jeśli watchable
ma wartość false
, przycisk odświeżania zostanie wyświetlony. Pamiętaj, że jeśli to możliwe, musisz dodać obsługę funkcji przeglądających, aby zmiany w systemie plików zostały uwzględnione natychmiast i automatycznie.
Omówienie
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. Obejmuje to między innymi dekompresowanie archiwów i uzyskiwanie dostępu do plików w usłudze w chmurze innej niż Dysk.
Podłączanie systemów plików
Rozszerzenia mogą dostarczać zawartość systemu plików ze źródła zewnętrznego (np. serwera zdalnego lub urządzenia USB) albo danych wejściowych z pliku lokalnego (np. archiwum).
Aby można było zapisywać systemy plików, które są modułami obsługi plików (źródło: "file"
), dostawcą musi być aplikacja w pakiecie, ponieważ zdarzenie onLaunched
nie jest dostępne dla rozszerzeń.
Jeśli źródłem jest sieć lub urządzenie, system plików powinien być podłączony po wywołaniu zdarzenia 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
Podane systemy plików po podłączeniu można skonfigurować za pomocą zdarzenia onConfigureRequested. Jest to szczególnie przydatne w przypadku systemów plików, które udostępniają treści przez sieć, aby ustawić odpowiednie dane logowania. Obsługa tego zdarzenia jest opcjonalna.
Cykl życia
Podane systemy plików po podłączeniu są zapamiętywane przez Chrome i automatycznie podłączane ponownie po ponownym uruchomieniu lub ponownym uruchomieniu. W związku z tym po podłączeniu systemu plików przez udostępniające rozszerzenie system plików pozostanie w nim do chwili usunięcia rozszerzenia lub wywołania 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 do przerwania.
-
requestId
liczba
Unikalny identyfikator tego żądania.
Action
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ł
ciąg znaków opcjonalny
Tytuł działania. Może zostać zignorowana w przypadku typowych działań.
AddWatcherRequestedOptions
Właściwości
-
entryPath
ciąg znaków
Ścieżka wpisu do obserwacji.
-
fileSystemId
ciąg znaków
Identyfikator systemu plików powiązanego z tą operacją.
-
rekurencyjne
wartość logiczna
Określa, czy obserwacja powinna obejmować rekurencyjnie wszystkie wpisy podrzędne. Może to dotyczyć tylko katalogów.
-
requestId
liczba
Unikalny identyfikator tego żądania.
Change
Właściwości
-
changeType
Rodzaj zmiany wpisu.
-
cloudFileInfo
Opcjonalne CloudFileInfo
Chrome w wersji 125 lub nowszej .Informacje dotyczące pliku, jeśli jest ono obsługiwane przez system plików w chmurze.
-
entryPath
ciąg znaków
Ścieżka zmienionego wpisu.
ChangeType
Typ zmiany wykrytej w zaobserwowanym katalogu.
Typ wyliczeniowy
„ZMIENIONE”
„USUNIĘTE”
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
Właściwości
-
versionTag
ciąg znaków opcjonalny
Tag reprezentujący wersję pliku.
CloudIdentifier
Właściwości
-
id
ciąg znaków
Identyfikator dostawcy danego pliku/katalogu.
-
providerName
ciąg znaków
Identyfikator dostawcy miejsca w chmurze (np. „drive.google.com”).
CommonActionId
Lista typowych działań. Usługa "SHARE"
służy do udostępniania plików innym osobom. "SAVE_FOR_OFFLINE"
do przypięcia (zapisu na potrzeby dostępu offline). "OFFLINE_NOT_NECESSARY"
za powiadomienie, że plik nie musi już być przechowywany, aby można było uzyskać do niego dostęp offline. Używane przez: onGetActionsRequested
i onExecuteActionRequested
.
Typ wyliczeniowy
"SAVE_FOR_OFFLINE"
"OFFLINE_NOT_NECESSARY"
„UDOSTĘPNIJ”
ConfigureRequestedOptions
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ą.
-
rekurencyjne
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 do utworzenia.
-
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ą.
-
rekurencyjne
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
Opcjonalne CloudFileInfo
Chrome w wersji 125 lub nowszej .Informacje identyfikujące konkretny plik w bazowym systemie plików w chmurze. Ta wartość musi być podawana w przypadku żądań w
options
, a plik jest przechowywany w chmurze. -
cloudIdentifier
Opcjonalny CloudIdentifier
Chrome w wersji 117 lub nowszej .Reprezentacja tego wpisu w Cloud Storage. Ta wartość musi być podawana w przypadku żądań w
options
, a plik jest przechowywany w chmurze. W przypadku plików lokalnych, które nie są obsługiwane przez miejsce w chmurze, nie można zdefiniować tego parametru na żądanie. -
Katalog isDirectory
Wartość logiczna opcjonalna
Prawda, jeśli to katalog. Ta wartość musi być podawana w przypadku żądania w tym kraju:
options
. -
mimeType
ciąg znaków opcjonalny
Typ MIME dla wpisu. Zawsze opcjonalny, ale należy go podać, jeśli jest wymagany w zasadzie
options
. -
modificationTime
Data opcjonalnie
Data ostatniej modyfikacji tego wpisu. Ta wartość musi być podawana w przypadku żądania w tym kraju:
options
. -
nazwa
ciąg znaków opcjonalny
Nazwa tego wpisu (nie pełna nazwa ścieżki). Nie może zawierać znaku „/”. W przypadku roota to pole musi być puste. Ta wartość musi być podawana w przypadku żądania w tym kraju:
options
. -
rozmiar
liczba opcjonalnie
Rozmiar pliku w bajtach. Ta wartość musi być podawana w przypadku żądania w tym kraju:
options
. -
miniatura
ciąg znaków opcjonalny
Miniatura obrazu jako identyfikator URI danych w formacie PNG, JPEG lub WEBP o rozmiarze nieprzekraczającym 32 KB. Opcjonalny, ale można go podać tylko na żądanie zdarzenia
onGetMetadataRequested
.
ExecuteActionRequestedOptions
Właściwości
-
actionId
ciąg znaków
Identyfikator działania, które ma zostać wykonane.
-
entryPaths
ciąg znaków[]
Chrome w wersji 47 lub nowszej .Zbiór ścieżek wpisów, które mają zostać użyte w działaniu.
-
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 otwartych obecnie plików.
-
openedFilesLimit
liczba
Maksymalna liczba plików, które można otworzyć jednocześnie. Jeśli to 0, nie ma ograniczeń.
-
supportsNotifyTag
Wartość logiczna opcjonalna
Chrome w wersji 45 lub nowszej .Określa, czy system plików obsługuje pole
tag
do obserwacji katalogów. -
widzowieChrome w wersji 45 lub nowszej .
Lista widzów.
-
z możliwością zapisu
wartość logiczna
Określa, czy system plików obsługuje operacje, które mogą zmieniać zawartość systemu plików (takie jak tworzenie, usuwanie i zapisywanie w plikach).
GetActionsRequestedOptions
Właściwości
-
entryPaths
ciąg znaków[]
Chrome w wersji 47 lub nowszej .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 w wersji 125 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćcloudFileInfo
. -
cloudIdentifier
wartość logiczna
Chrome w wersji 117 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćcloudIdentifier
. -
entryPath
ciąg znaków
Ścieżka wpisu, którego dotyczą metadane.
-
fileSystemId
ciąg znaków
Identyfikator systemu plików powiązanego z tą operacją.
-
Katalog isDirectory
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćis_directory
. -
mimeType
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćmimeType
. -
modificationTime
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćmodificationTime
. -
nazwa
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćname
. -
requestId
liczba
Unikalny identyfikator tego żądania.
-
rozmiar
wartość logiczna
Chrome w wersji 49 lub nowszej .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 znaków w systemie plików. Nazwa musi być niepowtarzalna dla każdego rozszerzenia.
-
openedFilesLimit
liczba opcjonalnie
Maksymalna liczba plików, które można otworzyć jednocześnie. Jeśli nie podasz żadnej wartości lub wartość 0, to nie będziesz mieć żadnych ograniczeń.
-
trwała
Wartość logiczna opcjonalna
Chrome w wersji 64 lub nowszej .Określa, czy platforma ma wznowić system plików przy następnej sesji logowania. Domyślna wartość Prawda.
-
supportsNotifyTag
Wartość logiczna opcjonalna
Chrome w wersji 45 lub nowszej .Określa, czy system plików obsługuje pole
tag
w przypadku obserwowanych katalogów. -
z możliwością zapisu
Wartość logiczna opcjonalna
Określa, czy system plików obsługuje operacje, które mogą zmieniać zawartość systemu plików (takie jak tworzenie, usuwanie i zapisywanie w plikach).
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 do przeniesienia w nowe miejsce.
-
targetPath
ciąg znaków
Ścieżka docelowa operacji kopiowania.
NotifyOptions
Właściwości
-
changeType
Rodzaj zmiany, jaka wystąpiła w zaobserwowanym wpisie. Jeśli wartością jest DELETED, zaobserwowany wpis zostanie automatycznie usunięty z listy obserwowanych wpisów.
-
Zmiany
Zmień[] opcjonalnie
Lista zmian we wpisach w katalogu zaobserwowanych (w tym w samej pozycji)
-
fileSystemId
ciąg znaków
Identyfikator systemu plików powiązanego z tą zmianą.
-
observedPath
ciąg znaków
Ścieżka obserwowanego wpisu.
-
rekurencyjne
wartość logiczna
Tryb obserwowanego wpisu.
-
tag
ciąg znaków opcjonalny
Tag powiadomienia. Wymagane, jeśli system plików został podłączony za pomocą opcji
supportsNotifyTag
. Pamiętaj, że ta flaga jest wymagana do wysyłania powiadomień o zmianach, które zostały zmienione nawet po wyłączeniu systemu.
OpenedFile
Właściwości
-
filePath
ciąg znaków
Ścieżka otwartego pliku.
-
tryb
Określa, czy plik został otwarty do odczytu lub zapisu.
-
openRequestId
liczba
Identyfikator żądania, który ma być używany w kolejnych żądaniach odczytu, zapisu i zamknięcia.
OpenFileMode
Tryb otwierania pliku. Używany 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ą.
-
tryb
Określa, czy plik ma być używany do odczytu lub zapisu.
-
requestId
liczba
Identyfikator żądania, który będzie używany w kolejnych żądaniach odczytu/zapisu i zamknięcia.
ProviderError
Kody błędów używane przy udostępnianiu rozszerzeń w odpowiedzi na żądania oraz w przypadku błędów przy wywoływaniu metod interfejsu API. Aby odnieść sukces, należy użyć właściwości "OK"
.
Typ wyliczeniowy
"OK"
„FAILED”
"IN_USE"
"ISTNIEJE"
"NOT_FOUND"
„ACCESS_DENIED”
"TOO_MANY_OPENED"
"NO_MEMORY"
"NO_SPACE"
"NOT_A_DIRECTORY"
"Nieprawidłowe_OPERATION"
"BEZPIECZEŃSTWO"
"ABORT"
"NOT_A_FILE"
"NOT_EMPTY"
"Nieprawidłowy_URL"
„IO”
ReadDirectoryRequestedOptions
Właściwości
-
directoryPath
ciąg znaków
Ścieżka katalogu, którego dotyczy żądanie treści.
-
fileSystemId
ciąg znaków
Identyfikator systemu plików powiązanego z tą operacją.
-
Katalog isDirectory
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćis_directory
. -
mimeType
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćmimeType
. -
modificationTime
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćmodificationTime
. -
nazwa
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćname
. -
requestId
liczba
Unikalny identyfikator tego żądania.
-
rozmiar
wartość logiczna
Chrome w wersji 49 lub nowszej .Ustaw na
true
, jeśli wymagana jest wartośćsize
. -
miniatura
wartość logiczna
Chrome w wersji 49 lub nowszej .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.
-
odliczyć
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 obserwowanego wpisu.
-
fileSystemId
ciąg znaków
Identyfikator systemu plików powiązanego z tą operacją.
-
rekurencyjne
wartość logiczna
Tryb widza.
-
requestId
liczba
Unikalny identyfikator tego żądania.
TruncateRequestedOptions
Właściwości
-
filePath
ciąg znaków
Ścieżka pliku do obcięcia.
-
fileSystemId
ciąg znaków
Identyfikator systemu plików powiązanego z tą operacją.
-
długość
liczba
Liczba bajtów do zachowania 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 odłączenia.
UnmountRequestedOptions
Właściwości
-
fileSystemId
ciąg znaków
Identyfikator systemu plików do odłączenia.
-
requestId
liczba
Unikalny identyfikator tego żądania.
Watcher
Właściwości
-
entryPath
ciąg znaków
Ścieżka obserwowanego wpisu.
-
lastTag
ciąg znaków opcjonalny
Tag użyty w ostatnim powiadomieniu dla widza.
-
rekurencyjne
wartość logiczna
Określa, czy wyświetlanie ma obejmować wszystkie wpisy podrzędne w sposób cykliczny. Może to dotyczyć tylko katalogów.
WriteFileRequestedOptions
Właściwości
-
dane
SlateBuffer
Bufor bajtów do zapisania w pliku.
-
fileSystemId
ciąg znaków
Identyfikator systemu plików powiązanego z tą operacją.
-
odliczyć
liczba
Pozycja w pliku (w bajtach), z 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,
callback?: function,
)
Zwraca informacje o systemie plików z przekazywanymi wartościami fileSystemId
.
Parametry
-
fileSystemId
ciąg znaków
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(fileSystem: FileSystemInfo) => void
-
fileSystem
-
Zwroty
-
Promise<FileSystemInfo>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
getAll()
chrome.fileSystemProvider.getAll(
callback?: function,
)
Zwraca wszystkie systemy plików podłączone przez rozszerzenie.
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(fileSystems: FileSystemInfo[]) => void
-
fileSystems
-
Zwroty
-
Promise<FileSystemInfo[]>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
mount()
chrome.fileSystemProvider.mount(
options: MountOptions,
callback?: function,
)
Podłącza system plików przy użyciu: fileSystemId
i displayName
. Ikona displayName
będzie widoczna w lewym panelu aplikacji Pliki. Pole displayName
może zawierać dowolne znaki, w tym „/”, ale nie może być pustym ciągiem znaków. Pole displayName
musi być opisowe, ale nie musi być niepowtarzalne. Pole fileSystemId
nie może być pustym ciągiem znaków.
W zależności od typu podłączanego systemu plików opcja source
musi być odpowiednio ustawiona.
W przypadku błędu parametr runtime.lastError
zostanie ustawiony z odpowiednim kodem błędu.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
notify()
chrome.fileSystemProvider.notify(
options: NotifyOptions,
callback?: function,
)
Powiadamia o zmianach w katalogu monitorowanych pod adresem observedPath
w trybie recursive
. Jeśli system plików jest podłączony za pomocą supportsNotifyTag
, należy podać wartość tag
, a wszystkie zmiany wprowadzone od ostatniego powiadomienia są zawsze zgłaszane, nawet jeśli system był wyłączony. Ostatni tag można uzyskać za pomocą getAll
.
Aby można było użyć tej opcji, opcja pliku manifestu file_system_provider.notify
musi mieć wartość Prawda.
Wartość tag
może być dowolnym ciągiem znaków, który jest niepowtarzalny dla każdego wywołania, więc można zidentyfikować ostatnie zarejestrowane powiadomienie. Na przykład: jeśli rozszerzenie rozpoczyna się po ponownym uruchomieniu, a tag ostatniego zarejestrowanego powiadomienia ma wartość „123”, to powinno ono wywoływać metodę notify
dla wszystkich zmian, które nastąpiły od czasu zmiany oznaczonej tagiem „123”. Nie może to być pusty ciąg znaków.
Nie wszyscy dostawcy są w stanie dostarczyć tagi, ale jeśli system plików zawiera historię zmian, tagiem może być np. numer zmiany lub numer wersji.
Pamiętaj, że w przypadku usunięcia katalogu nadrzędnego zostają też usunięte wszystkie wpisy podrzędne. Jeśli są obserwowane, trzeba powiadomić o tym interfejs API. Poza tym jeśli zmienisz nazwę katalogu, wszystkie wpisy podrzędne zostaną w rzeczywistości usunięte, ponieważ w pierwotnych ścieżkach nie ma już żadnych wpisów.
W przypadku błędu parametr runtime.lastError
ustawia odpowiedni kod błędu.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
)
Odłączanie systemu plików o podanej wartości fileSystemId
. Musi zostać wywołana po wywołaniu funkcji onUnmountRequested
. Poza tym dostarczające rozszerzenie może odłączać urządzenia, jeśli ich nie zażąda (na przykład w przypadku utraty połączenia lub błędu pliku).
W przypadku błędu parametr runtime.lastError
zostanie ustawiony z odpowiednim kodem błędu.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
Wydarzenia
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
Podnoszona podczas przerywania operacji wykonywanej za pomocą funkcji operationRequestId
. Operacja wykonywana przy użyciu funkcji operationRequestId
musi zostać natychmiast zatrzymana, a successCallback
tego żądania przerwania musi zostać wykonane. Jeśli przerwanie się nie powiedzie, trzeba wywołać funkcję errorCallback
. Pamiętaj, że wywołań zwrotnych przerwanej operacji nie można wywoływać, ponieważ zostaną one zignorowane. Mimo wywołania funkcji errorCallback
żądanie może zostać wymuszone przerwanie.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void
-
Opcje
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
-
onAddWatcherRequested
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
callback: function,
)
Podnoszona podczas konfigurowania nowego obserwatora katalogu. Jeśli wystąpi błąd, trzeba wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onCloseFileRequested
chrome.fileSystemProvider.onCloseFileRequested.addListener(
callback: function,
)
Podniesione podczas otwierania pliku otwartego wcześniej w openRequestId
zostanie zgłoszone do zamknięcia.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onConfigureRequested
chrome.fileSystemProvider.onConfigureRequested.addListener(
callback: function,
)
Podwyższa podczas wyświetlania okna konfiguracji fileSystemId
, jest wymagana. Jeśli jest obsługiwana, zasada zarządzania file_system_provider.configurable
musi mieć wartość Prawda.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onCopyEntryRequested
chrome.fileSystemProvider.onCopyEntryRequested.addListener(
callback: function,
)
Podnoszona podczas kopiowania wpisu (rekurencyjnie, jeśli wymagane jest podanie katalogu). Jeśli wystąpi błąd, trzeba wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onCreateDirectoryRequested
chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
callback: function,
)
Podniesiono podczas tworzenia katalogu. Jeśli katalog docelowy już istnieje, operacja musi zakończyć się niepowodzeniem z powodu błędu EXISTS. Jeśli recursive
ma wartość prawda, należy utworzyć wszystkie brakujące katalogi w ścieżce katalogu.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: CreateDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onCreateFileRequested
chrome.fileSystemProvider.onCreateFileRequested.addListener(
callback: function,
)
Podniesiono podczas tworzenia pliku. Jeśli plik już istnieje, należy wywołać funkcję errorCallback
z kodem błędu "EXISTS"
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onDeleteEntryRequested
chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
callback: function,
)
Podnoszona, gdy wymagane jest usunięcie wpisu. Jeśli zasada recursive
ma wartość prawda, a wpis jest katalogiem, wszystkie wpisy zawarte w nim też muszą być usuwane cyklicznie.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onExecuteActionRequested
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
callback: function,
)
Podwyższa podczas wykonywania działania na zbiorze plików lub katalogów. Po zakończeniu działania należy wywołać funkcję successCallback
. W przypadku błędu trzeba wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: ExecuteActionRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onGetActionsRequested
chrome.fileSystemProvider.onGetActionsRequested.addListener(
callback: function,
)
Podnoszona, gdy wymagane jest podanie listy działań dotyczącej zbioru plików lub katalogów w entryPaths
. Wszystkie zwrócone działania muszą mieć zastosowanie do każdej pozycji. Jeśli nie ma takich działań, powinna zostać zwrócona pusta tablica. Działania muszą być zwracane wraz z wywołaniem successCallback
. W przypadku błędu należy wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:(actions: Action[]) => void
-
działania
-
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
Podnoszone, gdy wymagane są metadane pliku lub katalogu w domenie entryPath
. Metadane muszą być zwracane wraz z wywołaniem successCallback
. W przypadku błędu należy wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: GetMetadataRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:(metadata: EntryMetadata) => void
-
metadane
-
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onMountRequested
chrome.fileSystemProvider.onMountRequested.addListener(
callback: function,
)
Podnoszona podczas wyświetlania okna podłączania nowego systemu plików, jest wymagane. Jeśli rozszerzenie/aplikacja jest modułem obsługi plików, to zdarzenie nie powinno być obsługiwane. Zamiast tego, aby podłączać nowe systemy plików po otwarciu pliku, powinien być obsługiwany operator app.runtime.onLaunched
. W przypadku wielu podłączenia opcja pliku manifestu file_system_provider.multiple_mounts
musi mieć wartość Prawda.
Parametry
-
wywołanie zwrotne
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
-
błąd
-
-
onMoveEntryRequested
chrome.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
Podnoszona podczas przenoszenia wpisu (rekurencyjnie w przypadku żądania katalogu). Jeśli wystąpi błąd, trzeba wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onOpenFileRequested
chrome.fileSystemProvider.onOpenFileRequested.addListener(
callback: function,
)
Podniesiono podczas otwierania pliku w filePath
. Jeśli plik nie istnieje, operacja musi zakończyć się niepowodzeniem. Maksymalną liczbę plików otwartych jednocześnie można określić za pomocą funkcji MountOptions
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: OpenFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
Opcje
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:(metadata?: EntryMetadata) => void
-
metadane
Opcjonalne EntryMetadata
-
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
-
onReadDirectoryRequested
chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
callback: function,
)
Podnoszone, gdy żądanie zawartości katalogu w domenie directoryPath
. Wyniki należy zwrócić we fragmentach przez kilkakrotne wywołanie funkcji successCallback
. W przypadku błędu należy wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:(entries: EntryMetadata[], hasMore: boolean) => void
-
wpisy
-
hasMore
wartość logiczna
-
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onReadFileRequested
chrome.fileSystemProvider.onReadFileRequested.addListener(
callback: function,
)
Podwyższa, gdy wymagane jest odczytywanie treści pliku otwartego wcześniej za pomocą openRequestId
. Wyniki należy zwrócić we fragmentach przez kilkakrotne wywołanie funkcji successCallback
. W przypadku błędu należy wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
Opcje
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:(data: ArrayBuffer, hasMore: boolean) => void
-
dane
SlateBuffer
-
hasMore
wartość logiczna
-
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
-
onRemoveWatcherRequested
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
Podnoszone, gdy osoba obserwująca powinna zostać usunięta. Jeśli wystąpi błąd, trzeba wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: RemoveWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
onTruncateRequested
chrome.fileSystemProvider.onTruncateRequested.addListener(
callback: function,
)
Podnoszone podczas przycinania pliku do żądanej długości. Jeśli wystąpi błąd, trzeba wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void
-
Opcje
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
-
onUnmountRequested
chrome.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
Podnoszona podczas odłączania systemu plików o identyfikatorze fileSystemId
. W odpowiedzi metoda interfejsu API unmount
musi być wywoływana razem z metodą successCallback
. Jeśli odłączenie jest niemożliwe (np. z powodu oczekującej operacji), należy wywołać funkcję errorCallback
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void
-
Opcje
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-
-
onWriteFileRequested
chrome.fileSystemProvider.onWriteFileRequested.addListener(
callback: function,
)
Podniesiona podczas zapisywania treści w pliku otwartym wcześniej przy użyciu openRequestId
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
funkcja
Parametr
successCallback
wygląda tak:() => void
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
błąd
-