chrome.fileSystem

Opis

Używaj interfejsu API chrome.fileSystem, aby tworzyć, odczytywać, przeglądać i zapisywać pliki w lokalnym systemie plików użytkownika. Dzięki temu interfejsowi API aplikacje Chrome mogą odczytywać i zapisywać dane w lokalizacji wybranej przez użytkownika. Na przykład aplikacja edytora tekstu może używać interfejsu API do odczytywania i zapisywania dokumentów lokalnych. Wszystkie błędy są zgłaszane za pomocą chrome.runtime.lastError.

Uprawnienia

fileSystem

Dostępność

Tylko na pierwszym planie

Typy

AcceptOption

Właściwości

  • opis

    ciąg znaków opcjonalny

    To jest opcjonalny opis tekstowy tej opcji. Jeśli nie ma opisu, zostanie on wygenerowany automatycznie.Zwykle zawiera on rozszerzoną listę prawidłowych rozszerzeń (np. „text/html” może zostać rozwinięte do „*.html, *.htm”).

  • rozszerzenia

    string[] opcjonalne

    Rozszerzenia, które mają być akceptowane, np. „jpg”, „gif”, „crx”.

  • mimeTypes

    string[] opcjonalne

    Typy MIME do zaakceptowania, np. „image/jpeg” lub „audio/*”. Jedno z pól mimeTypes lub extensions musi zawierać co najmniej 1 prawidłowy element.

ChooseEntryOptions

Właściwości

  • akceptuje

    AcceptOption[] opcjonalny

    Opcjonalna lista opcji akceptacji dla tego otwieracza plików. Każda opcja będzie wyświetlana użytkownikowi jako unikalna grupa.

  • acceptsAllTypes

    boolean opcjonalne

    Określa, czy akceptować wszystkie typy plików, oprócz opcji określonych w argumencie accepts. Wartość domyślna to true (prawda). Jeśli pole accepts jest nieskonfigurowane lub nie zawiera prawidłowych wpisów, zawsze będzie resetowane do wartości true.

  • acceptsMultiple

    boolean opcjonalne

    Określa, czy akceptować wiele plików. Ta funkcja jest obsługiwana tylko w przypadku openFile i openWritableFile. Jeśli ta opcja jest ustawiona na „true”, wywołanie zwrotne do chooseEntry zostanie wywołane z listą wpisów. W przeciwnym razie zostanie wywołana z jednym wpisem.

  • suggestedName

    ciąg znaków opcjonalny

    The suggested file name that will be presented to the user as the default name to save. Jest to opcjonalne i dotyczy tylko „saveFile”.

  • typ

    ChooseEntryType opcjonalny

    Typ prompta do wyświetlenia. Wartość domyślna to „openFile”.

ChooseEntryType

Typ wyliczeniowy

"openFile"
Prosi użytkownika o otwarcie istniejącego pliku i w przypadku powodzenia zwraca FileEntry. Od wersji Chrome 31 obiekt FileEntry będzie zapisywalny, jeśli aplikacja ma uprawnienie „write” w sekcji „fileSystem”. W przeciwnym razie obiekt FileEntry będzie tylko do odczytu.

"openWritableFile"
Prosi użytkownika 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ń do zapisu w obszarze „fileSystem”.

"saveFile"
Prosi użytkownika o otwarcie istniejącego pliku lub nowego pliku i w przypadku powodzenia zwraca zapisywalny obiekt FileEntry. Wywołania tego typu zakończą się błędem środowiska wykonawczego, jeśli aplikacja nie ma uprawnień do zapisu w obszarze „fileSystem”.

"openDirectory"
Prosi użytkownika o otwarcie katalogu i w przypadku powodzenia zwraca DirectoryEntry. Wywołania tego typu zakończą się błędem środowiska wykonawczego, jeśli aplikacja nie ma uprawnień „directory” w sekcji „fileSystem”. Jeśli aplikacja ma uprawnienie „write” w sekcji „fileSystem”, zwrócony obiekt DirectoryEntry będzie zapisywalny. W przeciwnym razie będzie tylko do odczytu. Nowości w Chrome 31.

RequestFileSystemOptions

Chrome 44 lub nowsza wersja

Właściwości

  • volumeId

    tekst

    Identyfikator żądanego woluminu.

  • z możliwością zapisu

    boolean opcjonalne

    Określa, czy żądany system plików powinien być zapisywalny. Domyślny dostęp to tylko do odczytu.

Volume

Chrome 44 lub nowsza wersja

Właściwości

  • volumeId

    tekst

  • z możliwością zapisu

    wartość logiczna

VolumeListChangedEvent

Chrome 44 lub nowsza wersja

Właściwości

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

    • entry

      Wpis opcjonalny

    • fileEntries

      FileEntry[] opcjonalny

getDisplayPath()

Obietnica
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

Pobieranie ścieżki 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 na potrzeby wyświetlania.

Parametry

  • entry

    Wpis

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (displayPath: string) => void

    • displayPath

      tekst

Zwroty

  • Promise<string>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getVolumeList()

Promise Chrome 44 lub nowsza wersja
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

Zwraca listę woluminów dostępnych dla: requestFileSystem(). Wymagane jest uprawnienie manifestu "fileSystem": {"requestFileSystem"}. Dostępne tylko dla aplikacji kiosku działających w sesji kiosku. W przypadku błędu zmienna volumes będzie niezdefiniowana, a zmienna chrome.runtime.lastError będzie ustawiona.

Parametry

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (volumes?: Volume[]) => void

    • woluminy

      Volume[] opcjonalny

Zwroty

  • Promise<Volume[] | undefined>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)
: void

Pobieranie wpisu z możliwością zapisu z innego wpisu. Jeśli aplikacja nie ma uprawnień do zapisu w sekcji „fileSystem”, to wywołanie zakończy się błędem środowiska wykonawczego. Jeśli wpis jest DirectoryEntry, to wywołanie nie powiedzie się, jeśli aplikacja nie ma uprawnień „directory” w „fileSystem”.

Parametry

  • entry

    Wpis

  • callback

    funkcja

    Parametr callback wygląda tak:

    (entry: Entry) => void

    • entry

      Wpis

isRestorable()

Obietnica
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

Zwraca informację, czy aplikacja ma uprawnienia do przywracania wpisu o podanym identyfikatorze.

Parametry

  • id

    tekst

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (isRestorable: boolean) => void

    • isRestorable

      wartość logiczna

Zwroty

  • Promise<boolean>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

isWritableEntry()

Obietnica
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

Określa, czy ten wpis jest zapisywalny.

Parametry

  • entry

    Wpis

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (isWritable: boolean) => void

    • isWritable

      wartość logiczna

Zwroty

  • Promise<boolean>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

requestFileSystem()

Promise Chrome 44+
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)
: Promise<FileSystem | undefined>

Prosi o dostęp do systemu plików dla woluminu reprezentowanego przez options.volumeId. Jeśli zasada options.writable ma wartość Prawda, system plików będzie zapisywalny. W przeciwnym razie będzie on dostępny tylko do odczytu. Opcja writable wymaga uprawnienia "fileSystem": {"write"} w pliku manifestu. Dostępne tylko w przypadku aplikacji kiosku działających w sesji kiosku. W przypadku trybu kiosku uruchamianego ręcznie nad aktywnym oknem aplikacji pojawi się okno potwierdzenia. W przypadku błędu zmienna fileSystem będzie niezdefiniowana, a zmienna chrome.runtime.lastError będzie ustawiona.

Parametry

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem opcjonalny

Zwroty

  • Promise<FileSystem | undefined>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy 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 środowiska wykonawczego.

Parametry

  • id

    tekst

  • callback

    funkcja

    Parametr callback wygląda tak:

    (entry: Entry) => void

    • entry

      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ą liczone jako użycie. Jeśli aplikacja ma uprawnienie „retainEntries” w sekcji „fileSystem”, wpisy są przechowywane bezterminowo. W przeciwnym razie wpisy są przechowywane tylko podczas działania aplikacji i między ponownymi uruchomieniami.

Parametry

  • entry

    Wpis

Zwroty

  • tekst

Wydarzenia

onVolumeListChanged

Chrome 44 lub nowsza wersja
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Wywoływane, gdy lista dostępnych woluminów ulegnie zmianie.

Parametry