Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
FileSystemHandle
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 2023.
* Some parts of this feature may have varying levels of support.
Sicherer Kontext: Diese Funktion ist nur insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist inWeb Workers verfügbar.
DasFileSystemHandle-Interface derFile System API ist ein Objekt, das einen Datei- oder Verzeichniseintrag darstellt. Mehrere Handles können denselben Eintrag repräsentieren. In den meisten Fällen arbeiten Sie nicht direkt mit demFileSystemHandle, sondern mit seinen Kind-InterfacesFileSystemFileHandle undFileSystemDirectoryHandle.
In diesem Artikel
Schnittstellen basierend auf FileSystemHandle
Nachfolgend finden Sie eine Liste von Schnittstellen, die auf demFileSystemHandle-Interface basieren.
FileSystemFileHandleRepräsentiert ein Handle zu einem Datei-Eintrag.
FileSystemDirectoryHandleBietet ein Handle zu einem Verzeichniseintrag.
Instanz-Eigenschaften
Instanz-Methoden
isSameEntry()Vergleicht zwei Handles, um festzustellen, ob die zugehörigen Einträge (entweder eine Datei oder ein Verzeichnis) übereinstimmen.
queryPermission()ExperimentellFragt den aktuellen Berechtigungsstatus des aktuellen Handles ab.
remove()ExperimentellNicht standardisiertFordert die Entfernung des durch das Handle dargestellten Eintrags aus dem zugrunde liegenden Dateisystem an.
requestPermission()ExperimentellFordert Lese- oder Lese-/Schreibrechte für das Datei-Handle an.
Beispiele
>Typüberprüfung
Der untenstehende Code ermöglicht dem Nutzer die Auswahl einer Datei über den Dateiauswahldialog und prüft dann, ob das zurückgegebene Handle eine Datei oder ein Verzeichnis ist.
// store a reference to our file handlelet fileHandle;async function getFile() { // open file picker [fileHandle] = await window.showOpenFilePicker(); if (fileHandle.kind === "file") { // run file code } else if (fileHandle.kind === "directory") { // run directory code }}Abfrage/Anforderung von Berechtigungen
Die folgende asynchrone Funktion gibttrue zurück, wenn der Benutzer Lese- oder Lese-/Schreibrechte für das Datei-Handle gewährt hat. Wenn nicht, wird die Berechtigung angefordert.
// fileHandle is a FileSystemFileHandle// withWrite is a boolean set to true if writeasync function verifyPermission(fileHandle, withWrite) { const opts = {}; if (withWrite) { opts.mode = "readwrite"; } // Check if we already have permission, if so, return true. if ((await fileHandle.queryPermission(opts)) === "granted") { return true; } // Request permission to the file, if the user grants permission, return true. if ((await fileHandle.requestPermission(opts)) === "granted") { return true; } // The user did not grant permission, return false. return false;}Einträge vergleichen
Die folgende Funktion vergleicht einen einzelnen Eintrag mit einem Array von Einträgen und gibt ein neues Array mit allen übereinstimmenden Einträgen zurück.
function removeMatches(fileEntry, entriesArr) { const newArr = entriesArr.filter((entry) => !fileEntry.isSameEntry(entry)); return newArr;}Spezifikationen
| Specification |
|---|
| File System> # api-filesystemhandle> |