FileSystemDirectoryHandle:getFileHandle() 方法

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.

安全上下文: 此项功能仅在一些支持的浏览器安全上下文(HTTPS)中可用。

备注: 此特性在 Web Worker 中可用。

FileSystemDirectoryHandle 接口的 getFileHandle() 方法返回一个位于调用此方法的目录句柄内带有指定名称的文件的 FileSystemFileHandle

语法

js
getFileHandle(name)
getFileHandle(name, options)

参数

name

一个字符串,表示你想要获得的文件的 FileSystemHandle.name

options 可选

包含以下属性的对象:

create 可选

布尔值,默认为 false。当设为 true 时,如果没有找到对应的文件,将会创建一个指定名称的文件并将其返回。

返回值

一个 Promise 对象,会兑现一个 FileSystemFileHandle

异常

NotAllowedError DOMException

如果句柄的 PermissionStatus.statereadwrite 模式下不是 'granted'(如果 create 选项设置为 true),或在 read 模式下不是 'granted'(如果 create 选项设置为 false)。

TypeError

如果指定的名称不是一个合法的字符串或者包含会干扰本地文件系统的字符则抛出此异常。

TypeMismatchError DOMException

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

NotFoundError DOMException

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

示例

下面的示例能够取得指定名称的文件句柄,如果文件不存在,则创建。

js
const fileName = "fileToGetName";

// 假设我们有一个目录句柄:'currentDirHandle'
const fileHandle = currentDirHandle.getFileHandle(fileName, { create: true });

规范

Specification
File System Standard
# api-filesystemdirectoryhandle-getfilehandle

浏览器兼容性

BCD tables only load in the browser

参见