FileSystemDirectoryHandle: resolve() method
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.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The resolve()
method of the
FileSystemDirectoryHandle
interface returns an Array
of
directory names from the parent handle to the specified child entry, with the name of
the child entry as the last array item.
Syntax
resolve(possibleDescendant)
Parameters
possibleDescendant
-
The
FileSystemHandle
from which to return the relative path.
Return value
A Promise
which resolves with an Array
of
strings, or null
if possibleDescendant
is not a descendant of this FileSystemDirectoryHandle
.
Exceptions
No exceptions are thrown.
Examples
The following asynchronous function uses resolve()
to find the path to a
chosen file, relative to a specified directory handle.
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);
}
}
}
Specifications
Specification |
---|
File System Standard # api-filesystemdirectoryhandle-resolve |
Browser compatibility
BCD tables only load in the browser