Window:showSaveFilePicker() 方法
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Window 接口的 showSaveFilePicker() 方法用于显示允许用户保存一个文件的文件选择器。用户可以选择一个已有文件覆盖保存,也可以输入名字新建一个文件。
语法
showSaveFilePicker()
showSaveFilePicker(options)
参数
options可选-
选项对象,包含以下属性:
excludeAcceptAllOption可选-
布尔值,默认为
false。默认情况下,选择器应包含一个不应用任何文件类型过滤器的选项(通过下面的类型选项启动)。将此选项设置为true意味着该选项不可用。 id可选-
通过指定 ID,浏览器可以记住不同 ID 所对应的目录。如果在另一个选择器中使用了相同的 ID,则选择器将在同一目录中打开。
startIn可选-
一个
FileSystemHandle对象或一个众所周知的目录("desktop"、"documents"、"downloads"、"music"、"pictures"或"videos")以指定打开选择器的起始目录。 suggestedName可选-
一个字符串。建议的文件名。
types可选-
允许选择的文件类型的数组。每个项目都是一个具有以下选项的对象:
description可选-
允许的文件类型类别的可选描述。默认为空字符串。
accept
返回值
一个 Promise 对象,其兑现一个 FileSystemFileHandle 对象。
异常
AbortErrorDOMException-
如果用户在没有做出选择的情况下关闭提示,或者如果用户代理认为任何选定的文件过于敏感或危险,则抛出此异常。
SecurityErrorDOMException-
如果调用被同源策略阻止,或者不是通过用户交互(例如按下按钮)调用,则抛出该异常。
TypeError-
如果无法处理接受类型,则抛出该异常,它可能会在出现以下情况时发生:
types选项中任何项目的accept选项的任何键字符串都无法解析为有效的 MIME 类型。types选项中任何项目的accept选项的任何值字符串都是无效的,例如,如果它不以.开头,或者它以.结尾,或者它包含任何无效的值码点且长度大于 16。types选项为空,excludeAcceptAllOption选项为true。
安全性
瞬态用户激活是必需的。用户必须与页面或 UI 元素进行交互才能使该特性正常运行。
示例
以下函数可以显示一个文件选择器,并突出显示文本文件类型以供选择。
async function getNewFileHandle() {
const opts = {
types: [
{
description: "Text file",
accept: { "text/plain": [".txt"] },
},
],
};
return await window.showSaveFilePicker(opts);
}
规范
| Specification |
|---|
| File System Access> # api-showsavefilepicker> |
浏览器兼容性
Loading…