File and Directory Entries API

Die File and Directory Entries API bietet eine Möglichkeit, Verzeichnisse und Dateilisten zu verarbeiten, die vom Benutzer über ein Formulareingabefeld oder per Drag-and-Drop bereitgestellt werden. Es ist eine fortgeschrittene Version der File API, die es Ihnen erlaubt, mit einer einzelnen Datei zu arbeiten. Ursprünglich war sie dafür vorgesehen, ein vollständiges virtuelles Dateisystem zu unterstützen, aber jetzt unterstützt sie nur noch Lesevorgänge auf vom Benutzer bereitgestellten Daten.

Siehe Beziehung zu anderen dateibezogenen APIs für einen Vergleich zwischen dieser API, der File System API und der File API.

Zugriff auf ein Dateisystem erhalten

Es gibt zwei Möglichkeiten, um auf Dateisysteme zuzugreifen, die im aktuellen Spezifikationsentwurf definiert sind:

Geschichte

Die ursprüngliche File System API wurde entwickelt, um es Browsern zu ermöglichen, Unterstützung für den Zugriff auf ein sandboxed virtuelles Dateisystem auf dem Speichermedium des Benutzers zu implementieren. Die Arbeit zur Standardisierung der Spezifikation wurde 2012 aufgegeben, aber zu diesem Zeitpunkt hatte Google Chrome bereits seine eigene Implementierung der API. Im Laufe der Zeit nutzten zahlreiche beliebte Websites und Webanwendungen diese API, oft ohne alternative Lösungen oder auch nur die Verfügbarkeit der API zu überprüfen, bevor sie sie verwendeten. Mozilla entschied sich stattdessen dafür, andere APIs zu implementieren, die viele derselben Probleme lösen können, wie etwa IndexedDB; siehe den Blogbeitrag Warum keine FileSystem API in Firefox? für weitere Einblicke.

Infolgedessen funktionierten zahlreiche beliebte Websites in Browsern, die nicht Chrome waren, nicht richtig. Um dies zu beheben, wurden die Funktionen von Googles API, für die Konsens erzielt werden konnte, als File and Directory Entries API standardisiert und dann in anderen Browsern implementiert.

Schnittstellen

Die File and Directory Entries API umfasst die folgenden Schnittstellen:

FileSystem

Repräsentiert ein Dateisystem.

FileSystemEntry

Die grundlegende Schnittstelle, die einen einzelnen Eintrag in einem Dateisystem repräsentiert. Diese wird von anderen Schnittstellen implementiert, die Dateien oder Verzeichnisse darstellen.

FileSystemFileEntry

Repräsentiert eine einzelne Datei in einem Dateisystem.

FileSystemDirectoryEntry

Repräsentiert ein einzelnes Verzeichnis in einem Dateisystem.

FileSystemDirectoryReader

Erstellt durch den Aufruf von FileSystemDirectoryEntry.createReader(), bietet diese Schnittstelle die Funktionalität, die es erlaubt, den Inhalt eines Verzeichnisses zu lesen.

Erweiterungen zu anderen Schnittstellen

DataTransferItem.webkitGetAsEntry()

Gibt ein Objekt basierend auf FileSystemEntry zurück, das den Eintrag der ausgewählten Datei in ihrem Dateisystem repräsentiert. Dies wird im Allgemeinen entweder ein FileSystemFileEntry oder FileSystemDirectoryEntry Objekt sein.

File.webkitRelativePath

Gibt den Pfad zurück, relativ zu dem die URL der File ist.

HTMLInputElement.webkitdirectory

Ein Boolescher Wert, der das webkitdirectory-Attribut repräsentiert. Wenn true, akzeptiert die Dateisystem-Auswahlschnittstelle nur Verzeichnisse anstelle von Dateien.

HTMLInputElement.webkitEntries

Beschreibt die aktuell ausgewählten Dateien oder Verzeichnisse.

Spezifikationen

Specification
File and Directory Entries API
# api-domfilesystem

Browser-Kompatibilität

Siehe auch