FileSystemDirectoryHandle:getFileHandle() 方法

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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

语法

js
getFileHandle(name)
getFileHandle(name, options)

参数

name

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

options 可选

包含以下属性的对象:

create

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

返回值

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

异常

NotAllowedError DOMException

如果 PermissionStatus 不为“granted”则抛出此异常。

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

参见