在 Chrome OS 上處理檔案

檔案處理功能可讓您設定 ChromeOS,這樣一來,擴充功能就能透過檔案選單的「開啟」選單或「開啟 (使用內容)」選單的選單開啟檔案。開啟檔案後,請使用網路平台的 Launch Handler API 處理檔案資料。接著,您需要使用者標準網路平台 API 來顯示或處理檔案

加入 ChromeOS「開啟」選單的檔案處理常式。
新增至 ChromeOS 的「開啟」選單的檔案處理常式。

擴充功能中的可用性

ChromeOS 120 以上版本。

權限

處理檔案時不需要取得任何權限。

資訊清單

您必須在 manifest.json 檔案中加入 "file_handlers" 陣列。

輔助背景資訊

這個 API 可用於擴充功能服務 Worker、彈出式視窗、側邊面板或內容指令碼。

設定檔案處理常式

"file_handlers" 的每個成員 (即每個檔案處理常式) 都會指定要由特定擴充功能頁面處理的檔案類型或類型。

您指定的處理常式會新增到 ChromeOS 的「檔案」視窗,也就是專門的「開啟」和「使用選單」選項。只有在使用者選取含有特定副檔名的檔案時,這些選單才會顯示。例如,如果檔案處理常式指定 .txt,ChromeOS 選單只會在檔案具有該副檔名的檔案時顯示該處理常式。

處理檔案

檔案處理常式是擴充功能內含的 HTML 檔案。當使用者從選單中選取處理常式時,HTML 檔案會在新分頁中開啟。無論是顯示檔案還是以其他方式使用檔案,都可以透過 JavaScript 來使用適當的網頁平台 API 進行處理。處理程式碼必須在獨立的 JavaScript 檔案中,並透過 <script> 標記納入,且同樣須納入擴充功能中。指令碼檔案會使用 Launch Handler API 的 LaunchQueue 介面取得 FileSystemFileHandle 物件。

範例

以下範例說明如何使用 LaunchQueue 介面取得 FileSystemFileHandle 物件。如要查看檔案處理的實際運作情形,請安裝檔案處理示範

if ('launchQueue' in window) {
  launchQueue.setConsumer(async launchParams => {
    if (!launchParams.files || !launchParams.files.length) { return; }
    const fileHandle = launchParams.files[0];
  });
}
``````