FileSystemDirectoryHandle:getDirectoryHandle() 方法

基线 2023

新发布

2023 年 3 月起,此功能可在最新的设备和浏览器版本上运行。此功能可能在较旧的设备或浏览器上无法正常运行。

安全上下文:此功能仅在安全上下文(HTTPS)中可用,某些或所有支持的浏览器中。

注意:此功能在Web Workers中可用。

getDirectoryHandle() 方法是 FileSystemDirectoryHandle 接口的方法,它返回一个 FileSystemDirectoryHandle,用于在调用该方法的目录句柄中指定的名称的子目录。

语法

js
getDirectoryHandle(name)
getDirectoryHandle(name, options)

参数

name

一个表示要检索的子目录的 FileSystemHandle.name 的字符串。

options 可选

一个包含检索到的子目录选项的可选对象。选项如下

create 可选

一个布尔值,默认为 false。设置为 true 时,如果找不到目录,将创建一个具有指定名称的目录并将其返回。

返回值

一个 Promise,它解析为 FileSystemDirectoryHandle

异常

NotAllowedError DOMException

如果句柄的 PermissionStatus.state 不是 'granted'(如果 create 选项设置为 true,则为 readwrite 模式;如果 create 选项设置为 false,则为 read 模式),则抛出此异常。

TypeError

如果指定的名称不是有效的字符串,或者包含会干扰本机文件系统的字符,则抛出此异常。

TypeMismatchError DOMException

如果返回的条目是文件而不是目录,则抛出此异常。

NotFoundError DOMException

如果当前条目未找到,或者目标目录不存在且 create 选项设置为 false,则抛出此异常。

示例

以下示例返回具有指定名称的目录句柄,如果目录不存在,则会创建它。

js
const dirName = "directoryToGetName";

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

规范

规范
文件系统标准
# api-filesystemdirectoryhandle-getdirectoryhandle

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。

另请参阅