FileSystemDirectoryHandle: resolve() Methode

Baseline 2023

Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die resolve() Methode der FileSystemDirectoryHandle Schnittstelle gibt ein Array der Verzeichnispfade vom übergeordneten Handle zum angegebenen Kind-Eintrag zurück, wobei der Name des Kind-Eintrags das letzte Element des Arrays ist.

Syntax

js
resolve(possibleDescendant)

Parameter

possibleDescendant

Der FileSystemHandle, von dem der relative Pfad zurückgegeben werden soll.

Rückgabewert

Ein Promise, das mit einem Array von Strings aufgelöst wird, oder null, falls possibleDescendant kein Nachkomme dieses FileSystemDirectoryHandle ist.

Ausnahmen

Es werden keine Ausnahmen ausgelöst.

Beispiele

Die folgende asynchrone Funktion verwendet resolve(), um den Pfad zu einer ausgewählten Datei relativ zu einem angegebenen Verzeichnis-Handle 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 (relativePaths === 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);
    }
  }
}

Spezifikationen

Specification
File System Standard
# api-filesystemdirectoryhandle-resolve

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch