chrome.fileSystem

Beschreibung

Mit der chrome.fileSystem API können Sie im lokalen Dateisystem des Nutzers Dateien erstellen, lesen, darin navigieren und schreiben. Mit dieser API können Chrome-Apps an einem vom Nutzer ausgewählten Speicherort lesen und schreiben. Eine Texteditor-App kann die API beispielsweise verwenden, um lokale Dokumente zu lesen und zu schreiben. Alle Fehler werden über chrome.runtime.lastError gemeldet.

Berechtigungen

fileSystem

Verfügbarkeit

Nur im Vordergrund

Typen

AcceptOption

Attribute

  • Beschreibung

    String optional

    Dies ist die optionale Textbeschreibung für diese Option. Wenn keine Beschreibung vorhanden ist, wird automatisch eine generiert. Diese enthält in der Regel eine erweiterte Liste gültiger Erweiterungen (z. B. kann „text/html“ zu „*.html, *.htm“ erweitert werden).

  • Erweiterungen

    string[] optional

    Zu akzeptierende Erweiterungen, z.B. „jpg“, „gif“, „crx“.

  • mimeTypes

    string[] optional

    Zu akzeptierende MIME-Typen, z.B. „image/jpeg“ oder „audio/*“. Entweder „mimeTypes“ oder „extensions“ muss mindestens ein gültiges Element enthalten.

ChooseEntryOptions

Attribute

  • accepts

    AcceptOption[] optional

    Die optionale Liste der Akzeptanzoptionen für diesen Dateiöffner. Jede Option wird dem Endnutzer als eigene Gruppe präsentiert.

  • acceptsAllTypes

    Boolesch optional

    Gibt an, ob zusätzlich zu den im Argument „accepts“ angegebenen Optionen alle Dateitypen akzeptiert werden sollen. Die Standardeinstellung ist "true". Wenn das Feld „accepts“ nicht festgelegt ist oder keine gültigen Einträge enthält, wird es immer auf „true“ zurückgesetzt.

  • acceptsMultiple

    Boolesch optional

    Gibt an, ob mehrere Dateien akzeptiert werden sollen. Dies wird nur für openFile und openWritableFile unterstützt. Der Callback für „chooseEntry“ wird mit einer Liste von Einträgen aufgerufen, wenn diese Option auf „true“ gesetzt ist. Andernfalls wird sie mit einem einzelnen Eintrag aufgerufen.

  • suggestedName

    String optional

    Der vorgeschlagene Dateiname, der dem Nutzer als Standardname zum Speichern angezeigt wird. Dies ist optional und gilt nur für „saveFile“.

  • Typ

    ChooseEntryType optional

    Typ der anzuzeigenden Aufforderung. Der Standardwert ist „openFile“.

ChooseEntryType

Enum

"openFile"
Fordert den Nutzer auf, eine vorhandene Datei zu öffnen, und gibt bei Erfolg einen FileEntry zurück. Ab Chrome 31 ist der FileEntry beschreibbar, wenn die Anwendung die Berechtigung „write“ unter „fileSystem“ hat. Andernfalls ist der FileEntry schreibgeschützt.

"openWritableFile"
Fordert den Nutzer auf, eine vorhandene Datei zu öffnen, und gibt bei Erfolg einen beschreibbaren FileEntry zurück. Aufrufe mit diesem Typ schlagen mit einem Laufzeitfehler fehl, wenn die Anwendung nicht die Berechtigung „write“ unter „fileSystem“ hat.

"saveFile"
Fordert den Nutzer auf, eine vorhandene oder neue Datei zu öffnen, und gibt bei Erfolg einen beschreibbaren FileEntry zurück. Aufrufe mit diesem Typ schlagen mit einem Laufzeitfehler fehl, wenn die Anwendung nicht die Berechtigung „write“ unter „fileSystem“ hat.

"openDirectory"
Fordert den Nutzer auf, ein Verzeichnis zu öffnen, und gibt bei Erfolg einen DirectoryEntry zurück. Aufrufe mit diesem Typ schlagen mit einem Laufzeitfehler fehl, wenn die Anwendung nicht die Berechtigung „directory“ unter „fileSystem“ hat. Wenn die Anwendung die Berechtigung „write“ unter „fileSystem“ hat, ist der zurückgegebene DirectoryEntry beschreibbar, andernfalls ist er schreibgeschützt. Neu in Chrome 31.

RequestFileSystemOptions

Chrome 44 oder höher

Attribute

  • volumeId

    String

    Die ID des angeforderten Volumes.

  • Bearbeitbar

    Boolesch optional

    Gibt an, ob das angeforderte Dateisystem beschreibbar sein soll. Die Standardeinstellung ist „Schreibgeschützt“.

Volume

Chrome 44 oder höher

Attribute

  • volumeId

    String

  • Bearbeitbar

    boolean

VolumeListChangedEvent

Chrome 44 oder höher

Attribute

Methoden

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)
: void

Nutzer auffordern, eine Datei oder ein Verzeichnis auszuwählen.

Parameter

  • Optionen
  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • Eintrag

      Eintrag optional

    • fileEntries

      FileEntry[] optional

getDisplayPath()

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

Ruft den Anzeigepfad eines Entry-Objekts ab. Der Anzeigepfad basiert auf dem vollständigen Pfad der Datei oder des Verzeichnisses im lokalen Dateisystem, kann aber für die Anzeige besser lesbar gemacht werden.

Parameter

  • Eintrag

    Eintrag

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (displayPath: string) => void

    • displayPath

      String

Ausgabe

  • Promise<string>

    Chrome 117 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getVolumeList()

Promise Chrome 44 oder höher
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

Gibt eine Liste der für requestFileSystem() verfügbaren Volumes zurück. Die Manifestberechtigung "fileSystem": {"requestFileSystem"} ist erforderlich. Nur für Kiosk-Apps verfügbar, die in der Kiosksitzung ausgeführt werden. Im Falle eines Fehlers ist volumes nicht definiert und chrome.runtime.lastError wird festgelegt.

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (volumes?: Volume[]) => void

Ausgabe

  • Promise<Volume[] | undefined>

    Chrome 117 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getWritableEntry()

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

Einen beschreibbaren Eintrag aus einem anderen Eintrag abrufen. Dieser Aufruf schlägt mit einem Laufzeitfehler fehl, wenn die Anwendung nicht die Berechtigung „write“ unter „fileSystem“ hat. Wenn der Eintrag ein DirectoryEntry ist, schlägt dieser Aufruf fehl, wenn die Anwendung nicht die Berechtigung „directory“ unter „fileSystem“ hat.

Parameter

  • Eintrag

    Eintrag

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (entry: Entry) => void

    • Eintrag

      Eintrag

isRestorable()

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

Gibt zurück, ob die App die Berechtigung hat, den Eintrag mit der angegebenen ID wiederherzustellen.

Parameter

  • id

    String

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (isRestorable: boolean) => void

    • isRestorable

      boolean

Ausgabe

  • Promise<boolean>

    Chrome 117 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

isWritableEntry()

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

Gibt an, ob dieser Eintrag beschreibbar ist oder nicht.

Parameter

  • Eintrag

    Eintrag

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (isWritable: boolean) => void

    • isWritable

      boolean

Ausgabe

  • Promise<boolean>

    Chrome 117 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

requestFileSystem()

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

Fordert Zugriff auf ein Dateisystem für ein Volume an, das durch options.volumeId dargestellt wird. Wenn options.writable auf „true“ gesetzt ist, kann in das Dateisystem geschrieben werden. Andernfalls ist es schreibgeschützt. Für die Option writable ist die Berechtigung "fileSystem": {"write"} im Manifest erforderlich. Nur für Kiosk-Apps verfügbar, die in einer Kiosksitzung ausgeführt werden. Im manuell gestarteten Kioskmodus wird über dem aktiven App-Fenster ein Bestätigungsdialogfeld angezeigt. Im Falle eines Fehlers ist fileSystem nicht definiert und chrome.runtime.lastError wird festgelegt.

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem optional

Ausgabe

  • Promise<FileSystem | undefined>

    Chrome 117 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)
: void

Gibt den Dateieintrag mit der angegebenen ID zurück, wenn er wiederhergestellt werden kann. Andernfalls schlägt dieser Aufruf mit einem Laufzeitfehler fehl.

Parameter

  • id

    String

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (entry: Entry) => void

    • Eintrag

      Eintrag

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

Gibt eine ID zurück, die an „restoreEntry“ übergeben werden kann, um wieder Zugriff auf einen bestimmten Dateieintrag zu erhalten. Es werden nur die 500 zuletzt verwendeten Einträge beibehalten. Aufrufe von retainEntry und restoreEntry zählen als Verwendung. Wenn die App die Berechtigung „retainEntries“ unter „fileSystem“ hat, werden Einträge unbegrenzt aufbewahrt. Andernfalls werden Einträge nur beibehalten, während die App ausgeführt wird, und bei Neustarts.

Parameter

  • Eintrag

    Eintrag

Ausgabe

  • String

Ereignisse

onVolumeListChanged

Chrome 44 oder höher
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Wird aufgerufen, wenn sich eine Liste der verfügbaren Volumes ändert.

Parameter