Opis
Za pomocą interfejsu API chrome.fileSystemProvider
możesz tworzyć systemy plików, które będą dostępne w menedżerze plików w Chrome OS.
Uprawnienia
fileSystemProvider
Dostępność
Aby używać interfejsu File System Provider API, musisz zadeklarować uprawnienie „fileSystemProvider” i sekcję w pliku manifestu 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) – opcjonalna- Możliwość skonfigurowania za pomocą onConfigureRequest jest obsługiwana. Domyślnie: fałsz.
multiple_mounts
(wartość logiczna) – opcjonalna- Wskazuje, czy obsługiwanych jest kilka (więcej niż 1) podłączonych systemów plików. Domyślnie: fałsz.
watchable
(wartość logiczna) – opcjonalna- Informuje o tym, czy ustawienia widzów i powiadomienia o zmianach są obsługiwane. Domyślnie: fałsz.
source
(wyliczenie atrybutu „file”, „device” lub „network”) – wymagane- Źródło danych o podłączonych systemach plików.
Aplikacja Files używa powyższych informacji, aby prawidłowo renderować powiązane elementy interfejsu. Jeśli na przykład configurable
ma wartość Prawda, wyrenderowana będzie pozycja menu służąca do konfigurowania woluminów. I podobnie, jeśli multiple_mounts
ma wartość true
, aplikacja Files zezwala na dodawanie z interfejsu użytkownika więcej niż 1 punktu podłączania. Jeśli watchable
ma wartość false
, zostanie wyrenderowany przycisk odświeżania. Pamiętaj, że jeśli to możliwe, warto dodać obsługę przez obserwowane osoby. Dzięki temu zmiany w systemie plików będą 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. Przypadki użycia obejmują dekompresję archiwów i uzyskiwanie dostępu do plików w usłudze w chmurze innej niż Dysk.
Podłączanie systemów plików
Podanie rozszerzeń może dostarczać zawartość systemu plików ze źródła zewnętrznego (np. z serwera zdalnego lub urządzenia USB) albo z pliku lokalnego (np. archiwum).
Aby można było zapisywać systemy plików będące modułami obsługi plików (źródło to "file"
), dostawca musi być aplikacją w pakiecie, ponieważ zdarzenie onLaunched
nie jest dostępne w przypadku 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 pakietach. |
"device" lub "network" |
onMountRequested |
Konfigurowanie systemów plików
Podane systemy plików można skonfigurować za pomocą zdarzenia onConfigureRequested. Jest to szczególnie przydatne w przypadku systemów plików, które udostępniają zawartość przez sieć w celu ustawienia odpowiednich danych logowania. Obsługa tego zdarzenia jest opcjonalna.
Cykl życia
Podane systemy plików są zapamiętywane przez Chrome i automatycznie podłączane po ponownym uruchomieniu lub ponownym uruchomieniu. Dlatego system plików, który zostanie podłączony przez udostępniane rozszerzenie, pozostanie w tym stanie, dopóki rozszerzenie nie zostanie wyładowane z pamięci lub dopóki rozszerzenie nie wywoła metody unmount.
Typy
AbortRequestedOptions
Właściwości
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
operationRequestId
Liczba
Identyfikator żądania do przerwania.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
Action
Właściwości
-
id
string,
Identyfikator działania. Dowolny ciąg znaków lub
CommonActionId
w przypadku typowych działań. -
title
ciąg znaków opcjonalny
Nazwa działania. Może być ignorowany w przypadku typowych działań.
AddWatcherRequestedOptions
Właściwości
-
entryPath
string,
Ścieżka wpisu do obserwacji.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
rekurencyjne
boolean
Określa, czy obserwacja powinna obejmować rekurencyjnie wszystkie wpisy podrzędne. Może mieć wartość tylko w przypadku katalogów.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
Change
Właściwości
-
changeType
Typ zmiany, która została zastosowana we wpisie.
-
cloudFileInfo
Opcjonalny CloudFileInfo
Chrome 125 i nowsze wersjeInformacje o pliku, jeśli są obsługiwane przez system plików w chmurze.
-
entryPath
string,
Ścieżka zmienionego wpisu.
ChangeType
Typ zmiany wykrytej w zaobserwowanym katalogu.
Typ wyliczeniowy
CloseFileRequestedOptions
Właściwości
-
fileSystemId
string,
Identyfikator systemu plików zwią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
string,
Identyfikator dostawcy danego pliku lub katalogu.
-
providerName
string,
Identyfikator dostawcy miejsca na dane w chmurze (np. „drive.google.com”).
CommonActionId
Lista typowych działań. Aplikacja "SHARE"
służy do udostępniania plików innym osobom. "SAVE_FOR_OFFLINE"
– do przypięcia (zapisanie na potrzeby dostępu offline). "OFFLINE_NOT_NECESSARY"
do powiadomienia, że plik nie musi być przechowywany w celu uzyskania dostępu offline. Używany przez onGetActionsRequested
i onExecuteActionRequested
.
Typ wyliczeniowy
ConfigureRequestedOptions
Właściwości
-
fileSystemId
string,
Identyfikator systemu plików do skonfigurowania.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
CopyEntryRequestedOptions
Właściwości
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
-
sourcePath
string,
Ścieżka źródłowa wpisu do skopiowania.
-
targetPath
string,
Ścieżka docelowa operacji kopiowania.
CreateDirectoryRequestedOptions
Właściwości
-
directoryPath
string,
Ścieżka katalogu do utworzenia.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
rekurencyjne
boolean
Określa, czy operacja jest rekurencyjna (tylko w przypadku katalogów).
-
requestId
Liczba
Unikalny identyfikator tego żądania.
CreateFileRequestedOptions
Właściwości
-
filePath
string,
Ścieżka pliku do utworzenia.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
DeleteEntryRequestedOptions
Właściwości
-
entryPath
string,
Ścieżka wpisu do usunięcia.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
rekurencyjne
boolean
Określa, czy operacja jest rekurencyjna (tylko w przypadku katalogów).
-
requestId
Liczba
Unikalny identyfikator tego żądania.
EntryMetadata
Właściwości
-
cloudFileInfo
Opcjonalny CloudFileInfo
Chrome 125 i nowsze wersjeInformacje identyfikujące konkretny plik w bazowym systemie plików w chmurze. Należy ją podać, jeśli zażądano w
options
, a plik jest oparty na miejscu w chmurze. -
cloudIdentifier
CloudIdentifier opcjonalny
Chrome 117 i nowsze wersjeReprezentacja tego wpisu w Cloud Storage. Należy ją podać, jeśli zażądano w
options
, a plik jest oparty na miejscu w chmurze. W przypadku plików lokalnych, które nie są obsługiwane przez chmurę, w przypadku żądania powinno być ono nieokreślone. -
isDirectory
wartość logiczna opcjonalna
Prawda, jeśli jest to katalog. Należy ją podać, jeśli jest wymagana w regionie
options
. -
mimeType
ciąg znaków opcjonalny
Typ MIME wpisu. Ta wartość jest zawsze opcjonalna, ale należy ją podać, jeśli jest wymagana w zasadzie
options
. -
modificationTime
Data opcjonalna
Czas ostatniej modyfikacji tego wpisu. Należy ją podać, jeśli jest wymagana w regionie
options
. -
nazwa
ciąg znaków opcjonalny
Nazwa tego wpisu (nie pełna nazwa ścieżki). Nie może zawierać znaku „/”. Katalog główny musi być pusty. Należy ją podać, jeśli jest wymagana w regionie
options
. -
rozmiar
Liczba opcjonalnie
Rozmiar pliku w bajtach. Należy ją podać, jeśli jest wymagana w regionie
options
. -
miniatura
ciąg znaków opcjonalny
Miniatura obrazu jako identyfikator URI danych w formacie PNG, JPEG lub WEBP, o rozmiarze maks. 32 KB. Opcjonalny, ale można go podać tylko wtedy, gdy zdarzenie
onGetMetadataRequested
wyraźnie zażąda tego.
ExecuteActionRequestedOptions
Właściwości
-
actionId
string,
Identyfikator działania do wykonania.
-
entryPaths
string[]
Chrome 47 i nowsze wersjeZbiór ścieżek wpisów, które mają być używane dla działania.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
FileSystemInfo
Właściwości
-
displayName
string,
Zrozumiała dla człowieka nazwa systemu plików.
-
fileSystemId
string,
Identyfikator systemu plików.
-
openedFiles
Lista obecnie otwartych plików.
-
openedFilesLimit
Liczba
Maksymalna liczba plików, które można otworzyć jednocześnie. Jeśli ma wartość 0, to pole nie jest ograniczone.
-
supportsNotifyTag
wartość logiczna opcjonalna
Chrome 45 i nowsze wersjeOkreśla, czy system plików obsługuje pole
tag
do obserwacji katalogów. -
obserwatorzy
widz[]
Chrome 45 i nowsze wersjeLista osób obserwujących.
-
z możliwością zapisu
boolean
Określa, czy system plików obsługuje operacje, które mogą zmieniać jego zawartość (np. tworzenie, usuwanie lub zapisywanie plików).
GetActionsRequestedOptions
Właściwości
-
entryPaths
string[]
Chrome 47 i nowsze wersjeLista ścieżek pozycji na liście działań.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
GetMetadataRequestedOptions
Właściwości
-
cloudFileInfo
boolean
Chrome 125 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćcloudFileInfo
. -
cloudIdentifier
boolean
Chrome 117 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćcloudIdentifier
. -
entryPath
string,
Ścieżka wpisu, o którym mają być pobierane metadane.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
isDirectory
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćis_directory
. -
mimeType
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćmimeType
. -
modificationTime
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćmodificationTime
. -
nazwa
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćname
. -
requestId
Liczba
Unikalny identyfikator tego żądania.
-
rozmiar
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćsize
. -
miniatura
boolean
Ustaw jako
true
, jeśli wymagana jest wartośćthumbnail
.
MountOptions
Właściwości
-
displayName
string,
Zrozumiała dla człowieka nazwa systemu plików.
-
fileSystemId
string,
Identyfikator ciągu znaków systemu plików. Nazwa musi być niepowtarzalna w każdym rozszerzeniu.
-
openedFilesLimit
Liczba opcjonalnie
Maksymalna liczba plików, które można otworzyć jednocześnie. Jeśli nie określono inaczej lub 0, nie jest ograniczony.
-
trwałe
wartość logiczna opcjonalna
Chrome w wersji 64 i nowszychOkreśla, czy platforma powinna wznowić system plików przy następnej sesji logowania. Domyślnie ma wartość Prawda.
-
supportsNotifyTag
wartość logiczna opcjonalna
Chrome 45 i nowsze wersjeOkreśla, czy system plików obsługuje pole
tag
w przypadku katalogów obserwowanych. -
z możliwością zapisu
wartość logiczna opcjonalna
Określa, czy system plików obsługuje operacje, które mogą zmieniać jego zawartość (np. tworzenie, usuwanie lub zapisywanie plików).
MoveEntryRequestedOptions
Właściwości
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
-
sourcePath
string,
Ścieżka źródłowa wpisu do przeniesienia w nowe miejsce.
-
targetPath
string,
Ścieżka docelowa operacji kopiowania.
NotifyOptions
Właściwości
-
changeType
Typ zmiany, która wystąpiła w zaobserwowanym wpisie. Jeśli ma wartość USUNIĘTO, zaobserwowany wpis zostanie automatycznie usunięty z listy obserwowanych wpisów.
-
Zmiany
Zmień[] opcjonalnie
Lista zmian we wpisach w zaobserwowanym katalogu (łącznie z wpisem)
-
fileSystemId
string,
Identyfikator systemu plików związany z tą zmianą.
-
observedPath
string,
Ścieżka zaobserwowanego wpisu.
-
rekurencyjne
boolean
Tryb zaobserwowanego 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 niezbędna do wysyłania powiadomień o zmianach, które uległy zmianie nawet po wyłączeniu systemu.
OpenedFile
Właściwości
-
filePath
string,
Ścieżka otwartego pliku.
-
tryb
Wskazuje, czy plik został otwarty do odczytu lub zapisu.
-
openRequestId
Liczba
Identyfikator żądania, który ma być używany przez kolejne żądania odczytu/zapisu i zamknięcia.
OpenFileMode
Tryb otwierania pliku. Używany przez onOpenFileRequested
.
Typ wyliczeniowy
OpenFileRequestedOptions
Właściwości
-
filePath
string,
Ścieżka pliku do otwarcia.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
tryb
Określa, czy plik będzie używany do odczytu lub 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 udostępnianie rozszerzeń w odpowiedzi na żądania oraz w przypadku błędów podczas wywoływania metod interfejsu API. Aby wszystko działało skutecznie, należy używać parametru "OK"
.
Typ wyliczeniowy
ReadDirectoryRequestedOptions
Właściwości
-
directoryPath
string,
Ścieżka katalogu, którego zawartość jest żądana.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
isDirectory
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćis_directory
. -
mimeType
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćmimeType
. -
modificationTime
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćmodificationTime
. -
nazwa
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćname
. -
requestId
Liczba
Unikalny identyfikator tego żądania.
-
rozmiar
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćsize
. -
miniatura
boolean
Chrome 49 i nowsze wersjeUstaw jako
true
, jeśli wymagana jest wartośćthumbnail
.
ReadFileRequestedOptions
Właściwości
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
length
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
string,
Ścieżka oglądanego wpisu.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
rekurencyjne
boolean
Tryb widza.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
TruncateRequestedOptions
Właściwości
-
filePath
string,
Ścieżka pliku do skrócenia.
-
fileSystemId
string,
Identyfikator systemu plików związanego z tą operacją.
-
length
Liczba
Liczba bajtów, które mają być przechowywane po zakończeniu operacji.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
UnmountOptions
Właściwości
-
fileSystemId
string,
Identyfikator systemu plików, który ma zostać odłączony.
UnmountRequestedOptions
Właściwości
-
fileSystemId
string,
Identyfikator systemu plików, który ma zostać odłączony.
-
requestId
Liczba
Unikalny identyfikator tego żądania.
Watcher
Właściwości
-
entryPath
string,
Ścieżka obserwowanego wpisu.
-
lastTag
ciąg znaków opcjonalny
Tag używany przez ostatnie powiadomienie użytkownika.
-
rekurencyjne
boolean
Określa, czy podczas oglądania powinny być uwzględnione rekurencyjnie wszystkie wpisy podrzędne. Może mieć wartość tylko w przypadku katalogów.
WriteFileRequestedOptions
Właściwości
-
dane
ArrayBuffer
Bufor bajtów do zapisania w pliku.
-
fileSystemId
string,
Identyfikator systemu plików zwią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,
callback?: function,
)
Zwraca informacje o systemie plików z przekazaną wartością fileSystemId
.
Parametry
-
fileSystemId
string,
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(fileSystem: FileSystemInfo) => void
-
fileSystem
-
Zwroty
-
Promise<FileSystemInfo>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 opcjonalnie
Parametr
callback
wygląda tak:(fileSystems: FileSystemInfo[]) => void
-
fileSystems
-
Zwroty
-
Promise<FileSystemInfo[]>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 o podanych uprawnieniach fileSystemId
i displayName
. W lewym panelu aplikacji Pliki pojawi się nazwa displayName
. 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. Wartość 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 runtime.lastError
otrzyma odpowiedni kod błędu.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
notify()
chrome.fileSystemProvider.notify(
options: NotifyOptions,
callback?: function,
)
Powiadamia o zmianach w obserwowanym katalogu pod adresem observedPath
w trybie recursive
. Jeśli system plików jest podłączony za pomocą supportsNotifyTag
, musisz podać parametr tag
. Wszystkie zmiany od ostatniego powiadomienia będą zawsze zgłaszane, nawet jeśli system został wyłączony. Ostatni tag można uzyskać za pomocą funkcji getAll
.
Aby można było z niego korzystać, opcja w pliku manifestu file_system_provider.notify
musi mieć wartość Prawda.
Wartością tag
może być dowolny ciąg znaków, który jest unikalny w danym wywołaniu, więc można zidentyfikować ostatnie zarejestrowane powiadomienie. Jeśli np. udostępniane rozszerzenie rozpoczyna się po ponownym uruchomieniu, a tag ostatniego zarejestrowanego powiadomienia ma wartość „123”, wtedy wywołanie powinno wywoływać notify
w przypadku wszystkich zmian, jakie nastąpiły od momentu dodania tagu „123”. Nie może być pusty.
Nie wszyscy dostawcy mogą udostępniać tagi, ale jeśli system plików ma historię zmian, tagiem może być np. numer zmiany lub numer wersji.
Pamiętaj, że jeśli katalog nadrzędny zostanie usunięty, wszystkie wpisy podrzędne również zostaną usunięte, a jeśli są obserwowane, należy powiadomić o tym interfejs API. Ponadto po zmianie nazwy katalogu wszystkie wpisy podrzędne są usuwane, ponieważ pod pierwotnymi ścieżkami nie ma już wpisu.
W przypadku błędu runtime.lastError
zostanie ustawiony z odpowiednim kodem błędu.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
)
Odłącza system plików z podanym fileSystemId
. Musi zostać wywołana po wywołaniu onUnmountRequested
. Udostępniające rozszerzenie może też odłączyć urządzenie, jeśli nie pojawi się taka prośba (np. w przypadku utraty połączenia lub błędu pliku).
W przypadku błędu runtime.lastError
otrzyma odpowiedni kod błędu.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
Wydarzenia
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
Podwyższony w przypadku przerwania operacji z użyciem funkcji operationRequestId
. Operacja wykonywana na operacji operationRequestId
musi zostać natychmiast zatrzymana, a żądanie przerwania successCallback
zostanie wykonane. Jeśli przerwanie nie powiedzie się, należy wywołać metodę errorCallback
. Pamiętaj, że nie można wywoływać przerwanej operacji, ponieważ są ignorowane. Pomimo wywołania metody errorCallback
żądanie może zostać wymuszone przerwane.
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
-
error
-
-
onAddWatcherRequested
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
callback: function,
)
Podwyższona, gdy wymagane jest ustawienie nowego obserwatora katalogu. Jeśli wystąpi błąd, należy wywołać metodę 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
-
error
-
onCloseFileRequested
chrome.fileSystemProvider.onCloseFileRequested.addListener(
callback: function,
)
Podwyższona w przypadku otwierania pliku, który był wcześniej otwarty w aplikacji openRequestId
, i powoduje o jego zamknięcie.
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
-
error
-
onConfigureRequested
chrome.fileSystemProvider.onConfigureRequested.addListener(
callback: function,
)
Podwyższona, gdy wymagane jest wyświetlenie okna konfiguracji funkcji fileSystemId
. Jeśli jest obsługiwany, opcja 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
-
error
-
onCopyEntryRequested
chrome.fileSystemProvider.onCopyEntryRequested.addListener(
callback: function,
)
Podwyższona podczas kopiowania wpisu (rekurencyjnie, jeśli katalog). Jeśli wystąpi błąd, należy wywołać metodę 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
-
error
-
onCreateDirectoryRequested
chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
callback: function,
)
Podwyższona podczas tworzenia katalogu. Jeśli katalog docelowy już istnieje, operacja musi zakończyć się błędem 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
-
error
-
onCreateFileRequested
chrome.fileSystemProvider.onCreateFileRequested.addListener(
callback: function,
)
Zwiększenie podczas tworzenia pliku. Jeśli plik już istnieje, wywołanie funkcji errorCallback
z kodem błędu "EXISTS"
należy wykonać.
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
-
error
-
onDeleteEntryRequested
chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
callback: function,
)
Podwyższona w przypadku wysłania prośby o usunięcie wpisu. Jeśli recursive
ma wartość prawda, a wpis jest katalogiem, wszystkie wpisy w nim też muszą być usuwane rekurencyjnie.
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
-
error
-
onExecuteActionRequested
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
callback: function,
)
Wysyłany podczas wykonywania działania na zbiorze plików lub katalogów. Po zakończeniu działania należy wywołać metodę successCallback
. W przypadku błędu należy wywołać metodę 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
-
error
-
onGetActionsRequested
chrome.fileSystemProvider.onGetActionsRequested.addListener(
callback: function,
)
Wywoływane, gdy wymagana jest lista działań dla zbioru plików lub katalogów w entryPaths
. Wszystkie zwrócone działania muszą mieć zastosowanie do każdego wpisu. Jeśli nie ma takich działań, powinna zostać zwrócona pusta tablica. Działania muszą być zwracane przy użyciu wywołania successCallback
. W przypadku błędu należy wywołać metodę 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
-
error
-
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
Podwyższony w przypadku przesłania prośby o metadane pliku lub katalogu w lokalizacji entryPath
. Metadane muszą zostać zwrócone za pomocą wywołania successCallback
. W przypadku błędu należy wywołać metodę 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
-
error
-
onMountRequested
chrome.fileSystemProvider.onMountRequested.addListener(
callback: function,
)
Podwyższona, gdy wyświetlane jest okno dialogowe umożliwiające podłączenie nowego systemu plików. Jeśli rozszerzenie lub aplikacja służy do obsługi pliku, to zdarzenie nie powinno być obsługiwane. Zamiast tego należy obsługiwać app.runtime.onLaunched
, aby podłączać nowe systemy plików po otwarciu pliku. W przypadku wielu punktów podłączania 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
-
error
-
-
onMoveEntryRequested
chrome.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
Podwyższona w przypadku żądania przenoszenia wpisu (rekurencyjnie, jeśli katalog). Jeśli wystąpi błąd, należy wywołać metodę 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
-
error
-
onOpenFileRequested
chrome.fileSystemProvider.onOpenFileRequested.addListener(
callback: function,
)
Podwyższona podczas otwierania pliku filePath
. Jeśli plik nie istnieje, operacja musi się nie udać. Maksymalna liczba plików otwieranych 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
EntryMetadata opcjonalnie
-
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
error
-
-
onReadDirectoryRequested
chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
callback: function,
)
Podnoszony w przypadku żądania treści katalogu directoryPath
. Wyniki muszą zostać zwrócone fragmentami, wywołując kilka razy funkcję successCallback
. W przypadku błędu należy wywołać metodę 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
boolean
-
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
error
-
onReadFileRequested
chrome.fileSystemProvider.onReadFileRequested.addListener(
callback: function,
)
Podwyższona w przypadku żądania odczytu zawartości pliku otwartego wcześniej za pomocą openRequestId
. Wyniki muszą zostać zwrócone partiami, wywołując kilka razy successCallback
. W przypadku błędu należy wywołać metodę 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
ArrayBuffer
-
hasMore
boolean
-
-
errorCallback
funkcja
Parametr
errorCallback
wygląda tak:(error: ProviderError) => void
-
error
-
-
onRemoveWatcherRequested
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
Podwyższona, gdy użytkownik powinien usunąć obserwatora. Jeśli wystąpi błąd, należy wywołać metodę 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
-
error
-
onTruncateRequested
chrome.fileSystemProvider.onTruncateRequested.addListener(
callback: function,
)
Podwyższona, gdy wymagane jest skrócenie pliku do żądanej długości. Jeśli wystąpi błąd, należy wywołać metodę 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
-
error
-
-
onUnmountRequested
chrome.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
Podnoszone w przypadku odłączania systemu plików o identyfikatorze fileSystemId
. W odpowiedzi metoda interfejsu API unmount
musi być wywołana razem z metodą successCallback
. Jeśli odłączenie nie jest możliwe (np. z powodu oczekującej operacji), należy wywołać 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
-
error
-
-
onWriteFileRequested
chrome.fileSystemProvider.onWriteFileRequested.addListener(
callback: function,
)
Podwyższona w przypadku zapisywania treści w pliku otwartym wcześniej w interfejsie 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
-
error
-