FileSystemDirectoryHandle: getDirectoryHandle() method
Baseline 2023Newly available
Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Please take two minutes to fill out our short survey.
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 getDirectoryHandle()
method of the
FileSystemDirectoryHandle
interface returns a
FileSystemDirectoryHandle
for a subdirectory with the specified name
within the directory handle on which the method is called.
Syntax
getDirectoryHandle(name)
getDirectoryHandle(name, options)
Parameters
name
-
A string representing the
FileSystemHandle.name
of the subdirectory you wish to retrieve. options
Optional-
An optional object containing options for the retrieved subdirectory. Options are as follows:
create
Optional-
A boolean value, which defaults to
false
. When set totrue
if the directory is not found, one with the specified name will be created and returned.
Return value
A Promise
which resolves with a FileSystemDirectoryHandle
.
Exceptions
NotAllowedError
DOMException
-
Thrown if the
PermissionStatus.state
for the handle is not'granted'
inreadwrite
mode if thecreate
option is set totrue
or inread
mode if thecreate
option is set tofalse
. TypeError
-
Thrown if the name specified is not a valid string or contains characters that would interfere with the native file system.
TypeMismatchError
DOMException
-
Thrown if the returned entry is a file and not a directory.
NotFoundError
DOMException
-
Thrown if the current entry is not found or if the target directory doesn't exist and the
create
option is set tofalse
.
Examples
The following example returns a directory handle with the specified name, if the directory does not exist it is created.
const dirName = "directoryToGetName";
// assuming we have a directory handle: 'currentDirHandle'
const subDir = currentDirHandle.getDirectoryHandle(dirName, { create: true });
Specifications
Specification |
---|
File System # api-filesystemdirectoryhandle-getdirectoryhandle |