Opis
Interfejs chrome.fileSystem
API umożliwia tworzenie, odczytywanie, nawigację i zapisywanie w lokalnym systemie plików użytkownika. Dzięki niemu Aplikacje Chrome mogą odczytywać i zapisywać dane w wybranych przez użytkownika lokalizacjach. Na przykład aplikacja edytora tekstu może używać tego interfejsu API do odczytywania i zapisywania dokumentów lokalnych. Wszystkie błędy są powiadamiane w pliku chrome.runtime.lastError.
Uprawnienia
fileSystem
Dostępność
Typy
AcceptOption
Właściwości
-
opis
ciąg znaków opcjonalny
To jest opcjonalny opis tej opcji. Jeśli go nie podasz, opis zostanie wygenerowany automatycznie.Zwykle zawiera rozszerzoną listę prawidłowych rozszerzeń (np. „text/html” może rozwinąć się do „*.html, *.htm”).
-
rozszerzenia
string[] opcjonalny
Akceptowane rozszerzenia, np. „jpg”, „gif” lub „crx”.
-
mimeTypes
string[] opcjonalny
Akceptowane typy MIME, np. „image/jpeg” lub „audio/*”. Jeden z typów mimeType lub rozszerzeń musi zawierać co najmniej jeden prawidłowy element.
ChooseEntryOptions
Właściwości
-
akceptuje
AcceptOption[] opcjonalnie
Opcjonalna lista opcji akceptowania dla tego narzędzia do otwierania plików. Każda opcja będzie przedstawiana użytkownikowi jako unikalna grupa.
-
acceptsAllTypes
wartość logiczna opcjonalna
Określa, czy chcesz zaakceptować wszystkie typy plików oprócz opcji określonych w argumencie akceptacji. Wartość domyślna to true (prawda). Jeśli pole akceptacji nie jest skonfigurowane lub nie zawiera prawidłowych wpisów, ta wartość jest zawsze resetowana do wartości Prawda.
-
acceptsMultiple
wartość logiczna opcjonalna
Określa, czy zaakceptować wiele plików. Ta funkcja jest obsługiwana tylko w przypadku typów openFile i openWritableFile. Jeśli zasada ma wartość Prawda, wywołanie zwrotne dotyczące wyboru wpisu będzie wywoływane z listą wpisów. W przeciwnym razie zostanie wywołana z jednym wpisem.
-
suggestedName
ciąg znaków opcjonalny
Sugerowana nazwa pliku, która będzie wyświetlana użytkownikowi jako domyślna nazwa do odczytu lub zapisu. To pole jest opcjonalne.
-
Niestandardowy typ treści
ChooseEntryType opcjonalnie
Typ komunikatu do wyświetlenia. Domyślna wartość to „openFile”.
ChooseEntryType
Typ wyliczeniowy
"openFile"
Wyświetla użytkownikowi prośbę o otworzenie istniejącego pliku, a w przypadku powodzenia zwraca wartość FileEntry. Od wersji Chrome 31 obiekt FileEntry będzie możliwy do zapisu, jeśli aplikacja ma uprawnienia do zapisu w kategorii „fileSystem”. W przeciwnym razie obiekt FileEntry będzie dostępny tylko do odczytu.
"openWritableFile"
Wyświetla użytkownikowi prośbę o otwarcie istniejącego pliku, a w przypadku sukcesu zwraca wartość FileEntry z możliwością zapisu. Wywołania tego typu będą kończyć się niepowodzeniem z powodu błędu środowiska wykonawczego, jeśli aplikacja nie ma uprawnienia do zapisu w sekcji „fileSystem”.
"saveFile"
Wyświetla użytkownikowi prośbę o otwarcie istniejącego lub nowego pliku, a w przypadku powodzenia zwraca wartość FileEntry z możliwością zapisu. Wywołania tego typu będą kończyć się niepowodzeniem z powodu błędu środowiska wykonawczego, jeśli aplikacja nie ma uprawnienia do zapisu w sekcji „fileSystem”.
"open Directory"
Wyświetla użytkownikowi prośbę o otwarcie katalogu, a w przypadku powodzenia zwraca wpis katalogu. Wywołania tego typu będą kończyć się niepowodzeniem z powodu błędu środowiska wykonawczego, jeśli aplikacja nie ma uprawnienia „directory” (katalog) w sekcji „fileSystem”. Jeśli aplikacja ma uprawnienie „write” na liście „fileSystem”, zwrócony katalog DirectoryEntry będzie możliwy do zapisu. W przeciwnym razie będzie dostępny tylko do odczytu. Nowości w Chrome 31.
RequestFileSystemOptions
Właściwości
-
volumeId
string,
Identyfikator żądanego woluminu.
-
z możliwością zapisu
wartość logiczna opcjonalna
Określa, czy żądany system plików ma umożliwiać zapis. Domyślnie tylko do odczytu.
Volume
Właściwości
-
volumeId
string,
-
z możliwością zapisu
boolean
VolumeListChangedEvent
Właściwości
-
woluminy
Głośność[]
Metody
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
)
Poproś użytkownika o wybranie pliku lub katalogu.
Parametry
-
Opcje
ChooseEntryOptions opcjonalnie
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
wpis
Wpis opcjonalny
-
fileEntries
FileEntry[] opcjonalnie
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
)
Pobieranie ścieżki wyświetlania obiektu Entry. Wyświetlana ścieżka jest oparta na pełnej ścieżce pliku lub katalogu w lokalnym systemie plików, ale może być bardziej czytelna na potrzeby wyświetlania.
Parametry
-
wpis
Wpis
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(displayPath: string) => void
-
displayPath
string,
-
Zwroty
-
Obietnica<string>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
)
Zwraca listę woluminów dostępnych dla funkcji requestFileSystem()
. Wymagane są uprawnienia do pliku manifestu "fileSystem": {"requestFileSystem"}
. Dostępne dla aplikacji kiosku działających tylko w sesji kiosku. W przypadku błędu wartość volumes
jest nieokreślona, a ustawiona jest chrome.runtime.lastError
.
Parametry
Zwroty
-
Promise<Volume[] | undefined>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
)
Pobierz wpis z możliwością zapisu z innego wpisu. To wywołanie nie powiedzie się z powodu błędu środowiska wykonawczego, jeśli aplikacja nie ma uprawnień do zapisu w sekcji „fileSystem”. Jeśli wpis jest wpisem DirectoryEntry, wywołanie to zakończy się niepowodzeniem, jeśli aplikacja nie ma uprawnienia „directory” (katalog) w obszarze „fileSystem”.
Parametry
-
wpis
Wpis
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(entry: Entry) => void
-
wpis
Wpis
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
)
Zwraca, czy aplikacja ma uprawnienia do przywracania wpisu o podanym identyfikatorze.
Parametry
-
id
string,
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(isRestorable: boolean) => void
-
isRestorable
boolean
-
Zwroty
-
Promise<boolean>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
)
Określa, czy ten wpis jest możliwy do zapisu.
Parametry
-
wpis
Wpis
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(isWritable: boolean) => void
-
isWritable
boolean
-
Zwroty
-
Promise<boolean>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
)
Wysyła prośbę o dostęp do systemu plików dla woluminu reprezentowanego przez options.volumeId
. Jeśli zasada options.writable
ma wartość Prawda, w systemie plików można zapisywać dane. W przeciwnym razie będzie on tylko do odczytu. Opcja writable
wymaga uprawnienia "fileSystem": {"write"}
w pliku manifestu. Dostępne dla aplikacji kiosku działających tylko w sesji kiosku. W przypadku ręcznego uruchamiania trybu kiosku u góry okna aktywnej aplikacji pojawi się okno potwierdzenia. W przypadku błędu wartość fileSystem
jest nieokreślona, a ustawiona jest chrome.runtime.lastError
.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem – opcjonalny
-
Zwroty
-
Promise<FileSystem | undefined>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
)
Zwraca wpis pliku o podanym identyfikatorze, jeśli można go przywrócić. To wywołanie nie powiedzie się z powodu błędu środowiska wykonawczego.
Parametry
-
id
string,
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(entry: Entry) => void
-
wpis
Wpis
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
)
Zwraca identyfikator, który można przekazać do operacji resetEntry w celu odzyskania dostępu do wpisu w pliku. Zachowuje się tylko 500 ostatnio używanych wpisów, przy czym wywołania przechowywania wpisu i przywracania wpisów są liczone jako użycie. Jeśli aplikacja ma uprawnienie „retainEntries” w sekcji „fileSystem”, wpisy są przechowywane w nieskończoność. W przeciwnym razie wpisy są przechowywane tylko podczas działania aplikacji i po jej ponownym uruchomieniu.
Parametry
-
wpis
Wpis
Zwroty
-
string,
Wydarzenia
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Wywoływane po zmianie listy dostępnych woluminów.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(event: VolumeListChangedEvent) => void
-
event
-