chrome.fileSystem

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ść

Tylko pierwszy plan

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

Chrome 44 lub nowszy

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

Chrome 44 lub nowszy

Właściwości

  • volumeId

    ciąg znaków

  • z możliwością zapisu,

    Wartość logiczna

VolumeListChangedEvent

Chrome 44 lub nowszy

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

    • wpis,

      Wpis opcjonalny

    • fileEntries

      FileEntry[] opcjonalny

getDisplayPath()

Obietnica
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 nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

getVolumeList()

Promise Chrome 44 i nowsze
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

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (volumes?: Volume[]) => void

Zwroty

  • Promise<Volume[] | undefined>

    Chrome 117 lub nowsza

    Obietnice 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()

Obietnica
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 nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

isWritableEntry()

Obietnica
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 nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

requestFileSystem()

Promise Chrome 44 i nowsze
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

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem opcjonalny

Zwroty

  • Promise<FileSystem | undefined>

    Chrome 117 lub nowsza

    Obietnice 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 44 lub nowszy
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Wywoływana, gdy zmieni się lista dostępnych woluminów.

Parametry