Baseline 2023 *
Newly available
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
.
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.
kind
Schreibgeschützt
Gibt den Typ des Eintrags zurück. Dies ist 'file'
, wenn der zugehörige Eintrag eine Datei ist, oder 'directory'
.
name
Schreibgeschützt
Gibt den Namen des zugehörigen Eintrags zurück.
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.
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 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.
// 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.
function removeMatches(fileEntry, entriesArr) {
const newArr = entriesArr.filter((entry) => !fileEntry.isSameEntry(entry));
return newArr;
}
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4