FileSystemHandle - Web-APIs | MDN
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2023 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das FileSystemHandle-Interface der File 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 dem FileSystemHandle, sondern mit seinen Kind-Interfaces FileSystemFileHandle und FileSystemDirectoryHandle.
Schnittstellen basierend auf FileSystemHandle
Nachfolgend finden Sie eine Liste von Schnittstellen, die auf dem FileSystemHandle-Interface basieren.
FileSystemFileHandle-
Repräsentiert ein Handle zu einem Datei-Eintrag.
FileSystemDirectoryHandle-
Bietet 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()Experimentell-
Fragt den aktuellen Berechtigungsstatus des aktuellen Handles ab.
remove()Experimentell Nicht standardisiert-
Fordert die Entfernung des durch das Handle dargestellten Eintrags aus dem zugrunde liegenden Dateisystem an.
requestPermission()Experimentell-
Fordert 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.
js
// store a reference to our file handle
let 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 gibt true zurück, wenn der Benutzer Lese- oder Lese-/Schreibrechte für das Datei-Handle gewährt hat. Wenn nicht, wird die Berechtigung angefordert.
js
// fileHandle is a FileSystemFileHandle
// withWrite is a boolean set to true if write
async 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.
js
function removeMatches(fileEntry, entriesArr) {
const newArr = entriesArr.filter((entry) => !fileEntry.isSameEntry(entry));
return newArr;
}
Spezifikationen
| Spezifikation |
|---|
| File System # api-filesystemhandle |
Browser-Kompatibilität
Siehe auch
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.