Opis
Używaj interfejsu chrome.fileSystem
API do tworzenia, odczytywania, przeglądania i zapisywania danych w lokalnym systemie plików użytkownika. Za pomocą tego interfejsu API aplikacje Chrome mogą odczytywać i zapisywać dane w lokalizacji wybranej przez użytkownika. Na przykład aplikacja do edycji tekstu może używać interfejsu API do odczytywania i zapisywania lokalnych dokumentów. Wszystkie błędy są zgłaszane za pomocą chrome.runtime.lastError.
Uprawnienia
fileSystem
Dostępność
Typy
AcceptOption
Właściwości
-
opis
string opcjonalny
Jest to opcjonalny opis tekstowy tej opcji. Jeśli nie jest obecny, opis zostanie wygenerowany automatycznie.Zwykle zawiera on rozwiniętą listę prawidłowych rozszerzeń (np. „text/html” może zostać rozwinięty do „*.html, *.htm”).
-
rozszerzenia,
string[] opcjonalne
Rozszerzenia do zaakceptowania, np. „jpg”, „gif”, „crx”.
-
mimeTypes
string[] opcjonalne
Typy MIME do zaakceptowania, np. „image/jpeg” lub „audio/*”. Co najmniej jeden z elementów mimeTypes lub extensions musi być prawidłowy.
ChooseEntryOptions
Właściwości
-
akceptuje
AcceptOption[] opcjonalnie
Opcjonalna lista opcji akceptacji dla tego otwieracza plików. Każda opcja będzie prezentowana użytkownikowi jako osobna grupa.
-
acceptsAllTypes
wartość logiczna opcjonalna
Określa, czy akceptować wszystkie typy plików oprócz opcji określonych w argumencie accepts. Wartość domyślna to true. Jeśli pole accepts jest nieskonfigurowane lub nie zawiera prawidłowych wpisów, zawsze zostanie zresetowane do wartości „true”.
-
acceptsMultiple
wartość logiczna opcjonalna
Określa, czy akceptować wiele plików. Jest to obsługiwane tylko w przypadku funkcji openFile i openWritableFile. Jeśli ta wartość jest ustawiona na „true”, wywołanie zwrotne do chooseEntry zostanie wywołane z listą wpisów. W przeciwnym razie zostanie wywołana z jednym obiektem Entry.
-
suggestedName
string opcjonalny
Sugerowana nazwa pliku, która będzie wyświetlana użytkownikowi jako domyślna nazwa do odczytu lub zapisu. Nie jest to jednak wymagane.
-
typ
ChooseEntryType opcjonalny
Typ powiadomienia do wyświetlenia. Wartość domyślna to „openFile”.
ChooseEntryType
Typ wyliczeniowy
„openFile”
Wyświetla użytkownikowi prośbę o otwarcie istniejącego pliku i w przypadku powodzenia zwraca FileEntry. Od Chrome 31 obiekt FileEntry będzie zapisywalny, jeśli aplikacja ma uprawnienie „write” w sekcji „fileSystem”; w przeciwnym razie będzie tylko do odczytu.
„openWritableFile”
Wyświetla użytkownikowi prośbę o otwarcie istniejącego pliku i w przypadku powodzenia zwraca obiekt FileEntry z możliwością zapisu. Wywołania tego typu zakończą się błędem środowiska wykonawczego, jeśli aplikacja nie ma uprawnień „write” w sekcji „fileSystem”.
„saveFile”
Wyświetla użytkownikowi prośbę o otwarcie istniejącego lub nowego pliku i w przypadku powodzenia zwraca obiekt FileEntry z możliwością zapisu. Wywołania tego typu zakończą się błędem środowiska wykonawczego, jeśli aplikacja nie ma uprawnień „write” w sekcji „fileSystem”.
„openDirectory”
Wyświetla użytkownikowi prośbę o otwarcie katalogu i w przypadku powodzenia zwraca DirectoryEntry. Wywołania tego typu zakończą się błędem wykonania, jeśli aplikacja nie ma uprawnienia „directory” w sekcji „fileSystem”. Jeśli aplikacja ma uprawnienie „write” w sekcji „fileSystem”, zwrócony obiekt DirectoryEntry będzie miał możliwość zapisu. W przeciwnym razie będzie tylko do odczytu. Nowości w Chrome 31.
RequestFileSystemOptions
Właściwości
-
volumeId
ciąg znaków
Identyfikator żądanego woluminu.
-
z możliwością zapisu,
wartość logiczna opcjonalna
Określa, czy żądany system plików powinien mieć możliwość zapisu. Domyślnie jest ona dostępna tylko do odczytu.
Volume
Właściwości
-
volumeId
ciąg znaków
-
z możliwością zapisu,
Wartość logiczna
VolumeListChangedEvent
Właściwości
-
tomy
Volume[]
Metody
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
Poproś użytkownika o wybranie pliku lub katalogu.
Parametry
-
Opcje
ChooseEntryOptions opcjonalne
-
callback
funkcja
Parametr
callback
wygląda tak:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
wpis,
Wpis opcjonalny
-
fileEntries
FileEntry[] opcjonalny
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
Pobierz ścieżkę wyświetlania obiektu Entry. Ścieżka wyświetlania jest oparta na pełnej ścieżce pliku lub katalogu w lokalnym systemie plików, ale może być bardziej czytelna.
Parametry
-
wpis,
Wpis
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(displayPath: string) => void
-
displayPath
ciąg znaków
-
Zwroty
-
Promise<string>
Chrome 117 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
Zwraca listę tomów dostępnych dla requestFileSystem()
. Wymagane jest uprawnienie "fileSystem": {"requestFileSystem"}
w pliku manifestu. Dostępne tylko dla aplikacji kiosku uruchomionych w sesji kiosku. W przypadku błędu wartość volumes
będzie niezdefiniowana, a chrome.runtime.lastError
będzie ustawiona.
Parametry
Zwroty
-
Promise<Volume[] | undefined>
Chrome 117 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
): void
Pobieranie zapisu z możliwością zapisu z innego zapisu. Jeśli aplikacja nie ma uprawnień do zapisu w sekcji „fileSystem”, wywołanie zakończy się błędem czasu działania. Jeśli wpis jest obiektem DirectoryEntry, wywołanie zakończy się niepowodzeniem, jeśli aplikacja nie ma uprawnień „directory” w sekcji „fileSystem”.
Parametry
-
wpis,
Wpis
-
callback
funkcja
Parametr
callback
wygląda tak:(entry: Entry) => void
-
wpis,
Wpis
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
Zwraca informację, czy aplikacja ma uprawnienia do przywrócenia wpisu o podanym identyfikatorze.
Parametry
-
id
ciąg znaków
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(isRestorable: boolean) => void
-
isRestorable
Wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome 117 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
Określa, czy ten wpis można modyfikować.
Parametry
-
wpis,
Wpis
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(isWritable: boolean) => void
-
isWritable
Wartość logiczna
-
Zwroty
-
Promise<boolean>
Chrome 117 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
): Promise<FileSystem | undefined>
Prosi o dostęp do systemu plików woluminu reprezentowanego przez options.volumeId
. Jeśli wartość options.writable
to „true”, system plików będzie miał uprawnienia do zapisu. W przeciwnym razie będzie ona tylko do odczytu. Opcja writable
wymaga uprawnienia "fileSystem": {"write"}
w pliku manifestu. Dostępne tylko w przypadku aplikacji kiosku uruchomionych w sesji kiosku. W przypadku trybu kiosku uruchamianego ręcznie okno dialogowe z potwierdzeniem pojawi się nad oknem aktywnej aplikacji. W przypadku błędu wartość fileSystem
będzie niezdefiniowana, a chrome.runtime.lastError
będzie ustawiona.
Parametry
-
Opcje
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem opcjonalny
-
Zwroty
-
Promise<FileSystem | undefined>
Chrome 117 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
): void
Zwraca wpis pliku o podanym identyfikatorze, jeśli można go przywrócić. W przeciwnym razie wywołanie zakończy się błędem wykonania.
Parametry
-
id
ciąg znaków
-
callback
funkcja
Parametr
callback
wygląda tak:(entry: Entry) => void
-
wpis,
Wpis
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
): string
Zwraca identyfikator, który można przekazać do funkcji restoreEntry, aby odzyskać dostęp do danego wpisu pliku. Zachowywanych jest tylko 500 ostatnio używanych wpisów, przy czym wywołania funkcji retainEntry i restoreEntry są traktowane jako użycie. Jeśli aplikacja ma uprawnienie „retainEntries” w sekcji „fileSystem”, wpisy są zachowywane bez ograniczeń czasowych. W przeciwnym razie wpisy są przechowywane tylko podczas działania aplikacji i po ponownym uruchomieniu.
Parametry
-
wpis,
Wpis
Zwroty
-
ciąg znaków
Wydarzenia
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Wywoływana, gdy zmieni się lista dostępnych woluminów.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(event: VolumeListChangedEvent) => void
-
event
-