Window: showSaveFilePicker() 方法
Window 介面的 showSaveFilePicker() 方法會顯示一個檔案選擇器,允許使用者透過選擇現有檔案或為新檔案輸入名稱來儲存檔案。
語法
js
showSaveFilePicker()
showSaveFilePicker(options)
引數
options可選-
包含選項的物件,選項如下:
excludeAcceptAllOption可選-
一個布林值,預設為
false。預設情況下,檔案選擇器應包含一個選項,用於不應用任何檔案型別過濾器(透過下面的型別選項啟動)。將此選項設定為true意味著該選項不可用。 id可選-
透過指定 ID,瀏覽器可以為不同的 ID 記住不同的目錄。如果將相同的 ID 用於另一個選擇器,則該選擇器將在同一目錄中開啟。
startIn可選-
一個
FileSystemHandle或一個眾所周知的目錄("desktop"、"documents"、"downloads"、"music"、"pictures"或"videos"),用於開啟對話方塊。 suggestedName可選-
一個
String。建議的檔名。 types可選-
一個
Array,其中包含允許儲存的檔案型別。每個項都是一個具有以下選項的物件:description可選-
允許的檔案型別類別的可選描述。預設為空字串。
accept
返回值
一個 Promise,其履行處理程式會收到一個 FileSystemFileHandle 物件。
異常
AbortErrorDOMException-
如果使用者在未選擇或輸入檔案的情況下關閉檔案選擇器,或者使用者代理認為任何選定的檔案過於敏感或危險,則丟擲此錯誤。
SecurityErrorDOMException-
如果呼叫被 同源策略 阻止,或者不是透過使用者互動(例如按鈕按下)呼叫,則丟擲此錯誤。
TypeError-
如果無法處理接受型別,則丟擲此錯誤,這可能發生在以下情況:
types選項中任何項的accept選項的任何鍵字串無法解析為有效的 MIME 型別。types選項中任何項的accept選項的任何值字串無效,例如,如果它不是以.開頭或以.結尾,或者如果它包含任何無效程式碼點且其長度超過 16。types選項為空且excludeAcceptAllOption選項為true。
安全
需要瞬時使用者啟用。使用者必須與頁面或 UI 元素進行互動才能使此功能正常工作。
示例
以下函式顯示一個檔案選擇器,其中文字檔案被突出顯示以供選擇。
js
async function getNewFileHandle() {
const opts = {
types: [
{
description: "Text file",
accept: { "text/plain": [".txt"] },
},
],
};
return await window.showSaveFilePicker(opts);
}
規範
| 規範 |
|---|
| 檔案系統訪問 # api-showsavefilepicker |
瀏覽器相容性
載入中…