HTTP/2 301
content-length: 162
content-type: text/html
date: Tue, 14 Oct 2025 09:05:38 GMT
location: https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/getDirectoryHandle
server: nginx
strict-transport-security: max-age=60; includeSubDomains
via: 1.1 google
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3KHd80ZV4W7i_qdODbLvITvoW-4YzVoTeZiqJYhpQ4o9_zkyonqwgdbcLEF6hpFJH3K
cache-control: public, max-age=3600
expires: Tue, 14 Oct 2025 10:05:39 GMT
last-modified: Tue, 14 Oct 2025 01:05:34 GMT
etag: W/"ab99c1e41e6cec128ac01b0e13859a9a"
x-goog-generation: 1760403934088265
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 141073
x-goog-meta-goog-reserved-file-mtime: 1760402406
x-goog-hash: crc32c=X0CSrA==, md5=q5nB5B5s7BKKwBsOE4Wamg==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: b84c1436ba40b1345990b8d2834a0cf3
date: Tue, 14 Oct 2025 09:05:39 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
FileSystemDirectoryHandle: getDirectoryHandle() method - Web APIs | MDN
getDirectoryHandle(name)
getDirectoryHandle(name, options)
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 to true
if the directory is not found, one with the specified
name will be created and returned.
NotAllowedError
DOMException
Thrown if the PermissionStatus.state
for the handle is not 'granted'
in readwrite
mode if the create
option is set to true
or in read
mode if the create
option is set to false
.
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 to
false
.
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 });