DataTransferItem: getAsFileSystemHandle()-Methode
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Die getAsFileSystemHandle()
-Methode des DataTransferItem
-Interfaces gibt ein FileSystemFileHandle
zurück, wenn das gezogene Element eine Datei ist, oder ein FileSystemDirectoryHandle
, wenn das gezogene Element ein Verzeichnis ist.
Syntax
getAsFileSystemHandle()
Parameter
Keine.
Rückgabewert
Ein Promise
.
Wenn die kind
-Eigenschaft des Elements "file"
ist und dieses Element in den dragstart
- oder drop
-Ereignishandlern zugegriffen wird, wird das zurückgegebene Promise mit einem FileSystemFileHandle
erfüllt, wenn das gezogene Element eine Datei ist, oder einem FileSystemDirectoryHandle
, wenn das gezogene Element ein Verzeichnis ist.
Andernfalls wird das Promise mit null
erfüllt.
Ausnahmen
Keine.
Beispiele
Dieses Beispiel verwendet die getAsFileSystemHandle()
-Methode, um Dateihandles für abgelegte Elemente zurückzugeben.
elem.addEventListener("dragover", (e) => {
// Prevent navigation.
e.preventDefault();
});
elem.addEventListener("drop", async (e) => {
// Prevent navigation.
e.preventDefault();
// Process all of the items.
for (const item of e.dataTransfer.items) {
// kind will be 'file' for file/directory entries.
if (item.kind === "file") {
const entry = await item.getAsFileSystemHandle();
if (entry.kind === "file") {
// run code for if entry is a file
} else if (entry.kind === "directory") {
// run code for is entry is a directory
}
}
}
});
Spezifikationen
Specification |
---|
File System Access # dom-datatransferitem-getasfilesystemhandle |
Browser-Kompatibilität
BCD tables only load in the browser