Window: showDirectoryPicker() 方法

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

实验性:这是一个实验性技术
在生产环境中使用此功能前,请仔细查看浏览器兼容性表

showDirectoryPicker()Window接口的一个方法,它显示一个目录选择器,允许用户选择一个目录。

语法

js
showDirectoryPicker()

参数

options 可选

包含以下选项的对象

id 可选

通过指定 ID,浏览器可以记住不同 ID 的不同目录。如果同一个 ID 用于另一个选择器,则选择器将在同一个目录中打开。

mode 可选

一个字符串,默认为 "read"(只读访问)或 "readwrite"(读写访问)目录。

startIn 可选

一个 FileSystemHandle 或一个众所周知的目录("desktop""documents""downloads""music""pictures""videos")用于在其中打开对话框。

返回值

一个Promise,其 fulfilled 处理程序接收一个FileSystemDirectoryHandle对象。

异常

AbortError DOMException

如果用户在未进行选择的情况下关闭提示,或者用户代理认为所选目录过于敏感或危险,或者所选目录的PermissionStatus.state在指定的 mode 中不为 "granted",则抛出此异常。

SecurityError DOMException

如果调用被同源策略阻止,或者没有通过用户交互(例如按钮按下)进行调用,则抛出此异常。

安全性

需要短暂的用户激活。用户必须与页面或 UI 元素交互才能使此功能正常工作。

示例

此异步函数显示一个目录选择器,并在选择后返回一个FileSystemDirectoryHandle

js
async function getDir() {
  const dirHandle = await window.showDirectoryPicker();

  // run code for dirHandle
}

规范

规范
文件系统访问
# api-showdirectorypicker

浏览器兼容性

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

另请参阅