FileSystemDirectoryHandle:getFileHandle() 方法

基线 2023

新可用

2023 年 3 月起,此功能在最新的设备和浏览器版本中均可使用。此功能可能无法在较旧的设备或浏览器中使用。

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

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

getFileHandle() 方法是 FileSystemDirectoryHandle 接口的方法,它返回一个 FileSystemFileHandle,该文件句柄对应于方法调用目录中指定名称的文件。

语法

js
getFileHandle(name)
getFileHandle(name, options)

参数

name

表示您希望检索的文件的 FileSystemHandle.name 的字符串。

options 可选

具有以下属性的对象

create 可选

一个 Boolean。默认为 false。当设置为 true 时,如果未找到文件,则将创建一个具有指定名称的文件并将其返回。

返回值

一个 Promise,它解析为一个 FileSystemFileHandle

异常

NotAllowedError DOMException

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

TypeError

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

TypeMismatchError DOMException

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

NotFoundError DOMException

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

示例

以下示例返回一个具有指定名称的文件句柄,如果文件不存在,则创建它。

js
const fileName = "fileToGetName";

// assuming we have a directory handle: 'currentDirHandle'
const fileHandle = currentDirHandle.getFileHandle(fileName, { create: true });

规范

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

浏览器兼容性

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

另请参阅