FileSystemDirectoryHandle: getFileHandle() 方法

Baseline 已廣泛支援

此功能已成熟,並可在許多裝置和瀏覽器版本上執行。自 2023 年 3 月以來,它已在各種瀏覽器中可用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

注意:此功能在 Web Workers 中可用。

getFileHandle() 方法是 FileSystemDirectoryHandle 介面的一個方法,它會返回一個 FileSystemFileHandle,用於表示在呼叫該方法的目錄中,具有指定名稱的檔案。

語法

js
getFileHandle(name)
getFileHandle(name, options)

引數

name

一個字串,表示您想要獲取的檔案的 FileSystemHandle.name

options 可選

具有以下屬性的物件:

create 可選

一個 Boolean 型別的值。預設為 false。當設定為 true 時,如果檔案不存在,則會建立一個具有指定名稱的檔案並返回。

返回值

一個 Promise,它會解析為一個 FileSystemFileHandle 物件。

異常

NotAllowedError DOMException

如果控制代碼的 PermissionStatus.state 對於 readwrite 模式(當 create 選項設定為 true 時)或 read 模式(當 create 選項設定為 false 時)不是 'granted',則會丟擲此錯誤。

TypeError

如果指定的名稱不是有效的字串,或者包含會干擾本地檔案系統的字元,則會丟擲此錯誤。

TypeMismatchError DOMException

如果命名的條目是一個目錄而不是檔案,則會丟擲此錯誤。

NotFoundError DOMException

如果當前條目未找到,或者檔案不存在且 create 選項設定為 false,則會丟擲此錯誤。

示例

以下示例返回指定名稱的檔案控制代碼;如果檔案不存在,則會建立該檔案。

js
const fileName = "fileToGetName";

// assuming we have a directory handle: 'currentDirHandle'
const fileHandle = await currentDirHandle.getFileHandle(fileName, {
  create: true,
});

規範

規範
檔案系統
# api-filesystemdirectoryhandle-getfilehandle

瀏覽器相容性

另見