Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. FileSystemDirectoryHandle

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

FileSystemDirectoryHandle

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.

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.

DieFileSystemDirectoryHandle-Schnittstelle derFile System API bietet einen Zugriff auf ein Dateisystemverzeichnis.

Die Schnittstelle kann über die Methodenwindow.showDirectoryPicker(),StorageManager.getDirectory(),DataTransferItem.getAsFileSystemHandle() undFileSystemDirectoryHandle.getDirectoryHandle() aufgerufen werden.

FileSystemHandle FileSystemDirectoryHandle

Instanz-Eigenschaften

Erbt Eigenschaften von ihrem Elternteil,FileSystemHandle.

Instanz-Methoden

Erbt Methoden von ihrem Elternteil,FileSystemHandle.

Reguläre Methoden:

FileSystemDirectoryHandle.getDirectoryHandle()

Gibt einPromise zurück, das mit einemFileSystemDirectoryHandle für ein Unterverzeichnis mit dem angegebenen Namen innerhalb des Verzeichnisses erfüllt wird, auf dem die Methode aufgerufen wird.

FileSystemDirectoryHandle.getFileHandle()

Gibt einPromise zurück, das mit einemFileSystemFileHandle für eine Datei mit dem angegebenen Namen innerhalb des Verzeichnisses erfüllt wird, auf dem die Methode aufgerufen wird.

FileSystemDirectoryHandle.removeEntry()

Versucht asynchron, einen Eintrag zu entfernen, wenn das Verzeichnishandle eine Datei oder ein Verzeichnis mit dem angegebenen Namen enthält.

FileSystemDirectoryHandle.resolve()

Gibt einPromise zurück, das mit einemArray von Verzeichnisnamen vom Eltern-Handle bis zum angegebenen Kind-Eintrag erfüllt wird, wobei der Name des Kind-Eintrags das letzte Array-Element ist.

Asynchroner Iterator Methoden:

FileSystemDirectoryHandle.entries()

Gibt einen neuenasynchronen Iterator der eigenen aufzählbaren Eigenschaften[key, value]-Paare eines gegebenen Objekts zurück.

FileSystemDirectoryHandle.keys()

Gibt einen neuenasynchronen Iterator zurück, der die Schlüssel für jedes Element inFileSystemDirectoryHandle enthält.

FileSystemDirectoryHandle.values()

Gibt einen neuenasynchronen Iterator zurück, der die Werte für jeden Index imFileSystemDirectoryHandle-Objekt enthält.

FileSystemDirectoryHandle[Symbol.asyncIterator]()

Gibt einen neuenasynchronen Iterator der eigenen aufzählbaren Eigenschaften[key, value]-Paare eines gegebenen Objekts zurück.

Beispiele

Verzeichnishandle zurückgeben

Das folgende Beispiel gibt ein Verzeichnishandle mit dem angegebenen Namen zurück; falls das Verzeichnis noch nicht existiert, wird es erstellt.

js
const dirName = "directoryToGetName";// assuming we have a directory handle: 'currentDirHandle'const subDir = await currentDirHandle.getDirectoryHandle(dirName, {  create: true,});

Dateipfad zurückgeben

Die folgende asynchrone Funktion verwendetresolve(), um den Pfad zu einer ausgewählten Datei relativ zu einem angegebenen Verzeichnishandle zu finden.

js
async function returnPathDirectories(directoryHandle) {  // Get a file handle by showing a file picker:  const handle = await self.showOpenFilePicker();  if (!handle) {    // User cancelled, or otherwise failed to open a file.    return;  }  // Check if handle exists inside our directory handle  const relativePaths = await directoryHandle.resolve(handle);  if (relativePath === null) {    // Not inside directory handle  } else {    // relativePath is an array of names, giving the relative path    for (const name of relativePaths) {      // log each entry      console.log(name);    }  }}

Handles für alle Dateien in einem Verzeichnis zurückgeben

Das folgende Beispiel durchläuft rekursiv ein Verzeichnis, umFileSystemFileHandle-Objekte für jede Datei in diesem Verzeichnis zurückzugeben:

js
async function* getFilesRecursively(entry) {  if (entry.kind === "file") {    const file = await entry.getFile();    if (file !== null) {      file.relativePath = getRelativePath(entry);      yield file;    }  } else if (entry.kind === "directory") {    for await (const handle of entry.values()) {      yield* getFilesRecursively(handle);    }  }}for await (const fileHandle of getFilesRecursively(directoryHandle)) {  console.log(fileHandle);}

Spezifikationen

Specification
File System
# api-filesystemdirectoryhandle

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp