chrome.fileSystemProvider

說明

使用 chrome.fileSystemProvider API 建立檔案系統,並透過 ChromeOS 上的檔案管理員存取。

權限

fileSystemProvider

保留期限

僅適用於 ChromeOS

資訊清單

如要使用 File System Provider API,您必須在擴充功能資訊清單中宣告「fileSystemProvider」權限和區段。例如:

{
  "name": "My extension",
  ...
  "permissions": [
    "fileSystemProvider"
  ],
  ...
  "file_system_provider_capabilities": {
    "configurable": true,
    "watchable": false,
    "multiple_mounts": true,
    "source": "network"
  },
  ...
}

file_system_provider 區段必須宣告如下:

configurable (布林值) - 選填
是否支援透過 onConfigureRequested 進行設定。預設值為 false。
multiple_mounts (布林值) - 選填
是否支援多個 (超過一個) 已掛接的檔案系統。預設值為 false。
watchable (布林值) - 選填
是否支援設定監看者及通知變更。預設值為 false。
source (列舉「file」、「device」或「network」) - 必要
掛接檔案系統的資料來源。

「檔案」應用程式會使用上述資訊,適當算繪相關 UI 元素。舉例來說,如果 configurable 設為 true,系統就會顯示設定音量的選單項目。同樣地,如果 multiple_mounts 設為 true,檔案應用程式就會允許從 UI 新增多個掛接點。如果 watchable 為 false,系統會轉譯重新整理按鈕。請注意,如有可能,您應新增監看程式的支援功能,以便立即自動反映檔案系統的變更。

總覽

擴充功能可透過檔案系統供應商 API 支援虛擬檔案系統,並在 ChromeOS 的檔案管理員中提供。用途包括解壓縮封存檔,以及存取雲端硬碟以外雲端服務中的檔案。

掛接檔案系統

擴充功能可以從外部來源 (例如遠端伺服器或 USB 裝置) 提供檔案系統內容,也可以使用本機檔案 (例如封存檔) 做為輸入內容。

如要編寫檔案系統 (來源為 "file") 的檔案處理常式,供應商必須是封裝應用程式,因為擴充功能無法使用 onLaunched 事件。

如果來源是網路或裝置,則在呼叫 onMountRequested 事件時,應掛接檔案系統。

檔案系統資料的來源 進入點
"file" 僅適用於封裝應用程式。
"device" 或 "network" onMountRequested

設定檔案系統

掛接後,即可透過 onConfigureRequested 事件設定提供的檔案系統。如果檔案系統透過網路提供內容,這項功能就特別實用,可設定適當的憑證。您可以選擇是否處理這個事件。

生命週期

Chrome 會記住已掛接的檔案系統,並在重新啟動後自動重新掛接。因此,一旦提供擴充功能掛接檔案系統,該檔案系統就會持續存在,直到擴充功能卸載或呼叫 unmount 方法為止。

類型

AbortRequestedOptions

屬性

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • operationRequestId

    數字

    要中止的要求 ID。

  • requestId

    數字

    這項要求的專屬 ID。

Action

Chrome 45 以上版本

屬性

  • id

    字串

    動作的 ID。任何字串或 CommonActionId,適用於常見動作。

  • title

    字串 選填

    動作的標題。如果是常見動作,系統可能會忽略這項設定。

AddWatcherRequestedOptions

屬性

  • entryPath

    字串

    要觀察的項目路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • 遞迴

    布林值

    觀察是否應以遞迴方式包含所有子項目。只有目錄可以設為 true。

  • requestId

    數字

    這項要求的專屬 ID。

Change

屬性

  • changeType

    項目發生的變更類型。

  • cloudFileInfo
    Chrome 125 以上版本

    如果檔案是由雲端檔案系統備份,則會顯示相關資訊。

  • entryPath

    字串

    變更項目的路徑。

ChangeType

系統在監控目錄中偵測到的變更類型。

列舉

「CHANGED」

「DELETED」

CloseFileRequestedOptions

屬性

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • openRequestId

    數字

    用於開啟檔案的要求 ID。

  • requestId

    數字

    這項要求的專屬 ID。

CloudFileInfo

Chrome 125 以上版本

屬性

  • versionTag

    字串 選填

    代表檔案版本的標記。

CloudIdentifier

Chrome 117 以上版本

屬性

  • id

    字串

    指定檔案/目錄的供應商 ID。

  • providerName

    字串

    雲端儲存空間供應商的 ID (例如「drive.google.com」)。

CommonActionId

Chrome 45 以上版本

常見動作清單。"SHARE" 可用來與他人共用檔案。"SAVE_FOR_OFFLINE" 釘選 (儲存以供離線存取)。"OFFLINE_NOT_NECESSARY",通知系統該檔案不再需要儲存以供離線存取。適用於 onGetActionsRequested 和 onExecuteActionRequested。

列舉

「SAVE_FOR_OFFLINE」

「OFFLINE_NOT_NECESSARY」

「分享」

ConfigureRequestedOptions

Chrome 44 以上版本

屬性

  • fileSystemId

    字串

    要設定的檔案系統 ID。

  • requestId

    數字

    這項要求的專屬 ID。

CopyEntryRequestedOptions

屬性

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • requestId

    數字

    這項要求的專屬 ID。

  • sourcePath

    字串

    要複製項目的來源路徑。

  • targetPath

    字串

    複製作業的目的地路徑。

CreateDirectoryRequestedOptions

屬性

  • directoryPath

    字串

    要建立的目錄路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • 遞迴

    布林值

    作業是否為遞迴作業 (僅適用於目錄)。

  • requestId

    數字

    這項要求的專屬 ID。

CreateFileRequestedOptions

屬性

  • filePath

    字串

    要建立的檔案路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • requestId

    數字

    這項要求的專屬 ID。

DeleteEntryRequestedOptions

屬性

  • entryPath

    字串

    要刪除的項目路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • 遞迴

    布林值

    作業是否為遞迴作業 (僅適用於目錄)。

  • requestId

    數字

    這項要求的專屬 ID。

EntryMetadata

屬性

  • cloudFileInfo
    Chrome 125 以上版本

    可識別基礎雲端檔案系統中特定檔案的資訊。如果 options 中要求提供,且檔案備份至雲端儲存空間,則必須提供。

  • cloudIdentifier
    Chrome 117 以上版本

    這個項目的雲端儲存空間表示法。如果 options 中要求提供,且檔案備份至雲端儲存空間,則必須提供。如果本機檔案未備份至雲端儲存空間,要求時應為未定義。

  • isDirectory

    布林值 選填

    如果是目錄,則為 True。如已在 options 中要求,則必須提供。

  • mimeType

    字串 選填

    項目的 MIME 類型。一律為選填,但如果 options 要求提供,則應提供。

  • modificationTime

    日期 選填

    這個項目的上次修改時間。如已在 options 中要求,則必須提供。

  • 名稱

    字串 選填

    這個項目的名稱 (不是完整路徑名稱)。不得包含「/」。如果是根目錄,則不得留空。如已在 options 中要求,則必須提供。

  • 大小

    數字 選填

    檔案大小 (以位元組為單位)。如已在 options 中要求,則必須提供。

  • 縮圖

    字串 選填

    縮圖圖片 (資料 URI 格式,PNG、JPEG 或 WEBP 格式皆可,大小上限為 32 KB)。為選用項目,但只有在 onGetMetadataRequested 事件明確要求時,才能提供。

ExecuteActionRequestedOptions

Chrome 45 以上版本

屬性

  • actionId

    字串

    要執行的動作 ID。

  • entryPaths

    string[]

    Chrome 47 以上版本

    要用於動作的項目路徑集。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • requestId

    數字

    這項要求的專屬 ID。

FileSystemInfo

屬性

  • displayName

    字串

    使用者可解讀的檔案系統名稱。

  • fileSystemId

    字串

    檔案系統的 ID。

  • openedFiles

    目前開啟的檔案清單。

  • openedFilesLimit

    數字

    可同時開啟的檔案數量上限。如果為 0,則表示沒有限制。

  • supportsNotifyTag

    布林值 選填

    Chrome 45 以上版本

    檔案系統是否支援用於觀察目錄的 tag 欄位。

  • 監看程式
    Chrome 45 以上版本

    觀察者清單。

  • 可寫入

    布林值

    檔案系統是否支援可能會變更檔案系統內容的作業 (例如建立、刪除或寫入檔案)。

GetActionsRequestedOptions

Chrome 45 以上版本

屬性

  • entryPaths

    string[]

    Chrome 47 以上版本

    動作清單的項目路徑清單。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • requestId

    數字

    這項要求的專屬 ID。

GetMetadataRequestedOptions

屬性

  • cloudFileInfo

    布林值

    Chrome 125 以上版本

    如果要求 cloudFileInfo 值,請設為 true。

  • cloudIdentifier

    布林值

    Chrome 117 以上版本

    如果要求 cloudIdentifier 值,請設為 true。

  • entryPath

    字串

    要擷取中繼資料的項目路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • isDirectory

    布林值

    Chrome 49 以上版本

    如果要求 is_directory 值,請設為 true。

  • mimeType

    布林值

    Chrome 49 以上版本

    如果要求 mimeType 值,請設為 true。

  • modificationTime

    布林值

    Chrome 49 以上版本

    如果要求 modificationTime 值,請設為 true。

  • 名稱

    布林值

    Chrome 49 以上版本

    如果要求 name 值,請設為 true。

  • requestId

    數字

    這項要求的專屬 ID。

  • 大小

    布林值

    Chrome 49 以上版本

    如果要求 size 值,請設為 true。

  • 縮圖

    布林值

    如果要求 thumbnail 值,請設為 true。

MountOptions

屬性

  • displayName

    字串

    使用者可解讀的檔案系統名稱。

  • fileSystemId

    字串

    檔案系統的字串 ID。每個擴充功能都必須有專屬的 ID。

  • openedFilesLimit

    數字 選填

    可同時開啟的檔案數量上限。如未指定或設為 0,則不設限。

  • 永久

    布林值 選填

    Chrome 64 以上版本

    架構是否應在下一個登入工作階段中繼續使用檔案系統。預設為 True。

  • supportsNotifyTag

    布林值 選填

    Chrome 45 以上版本

    檔案系統是否支援所監控目錄的 tag 欄位。

  • 可寫入

    布林值 選填

    檔案系統是否支援可能會變更檔案系統內容的作業 (例如建立、刪除或寫入檔案)。

MoveEntryRequestedOptions

屬性

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • requestId

    數字

    這項要求的專屬 ID。

  • sourcePath

    字串

    要移至新位置的項目來源路徑。

  • targetPath

    字串

    複製作業的目的地路徑。

NotifyOptions

屬性

  • changeType

    觀察到的項目發生變更的類型。如果已刪除,系統會自動從觀察項目清單中移除觀察到的項目。

  • 變更

    變更[] 選填

    觀察目錄中項目的變更清單 (包括項目本身)

  • fileSystemId

    字串

    與這項變更相關的檔案系統 ID。

  • observedPath

    字串

    觀察到的項目路徑。

  • 遞迴

    布林值

    觀察到的項目模式。

  • 標記

    字串 選填

    通知的標記。如果檔案系統是使用 supportsNotifyTag 選項掛接,則必須提供這個選項。請注意,即使系統關機,這個標記仍會提供變更通知。

OpenedFile

屬性

  • filePath

    字串

    開啟檔案的路徑。

  • 模式

    檔案是否已開啟以供讀取或寫入。

  • openRequestId

    數字

    連續讀取/寫入和關閉要求使用的要求 ID。

OpenFileMode

開啟檔案的模式。由 onOpenFileRequested 使用。

列舉

「READ」

「WRITE」

OpenFileRequestedOptions

屬性

  • filePath

    字串

    要開啟的檔案路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • 模式

    檔案是否用於讀取或寫入。

  • requestId

    數字

    後續讀取/寫入和關閉要求會使用的要求 ID。

ProviderError

提供擴充功能以回應要求時使用的錯誤代碼,以及呼叫 API 方法時發生錯誤時使用的錯誤代碼。如要成功,必須使用 "OK"。

列舉

「確定」

「FAILED」

「IN_USE」

「EXISTS」

「NOT_FOUND」

「ACCESS_DENIED」

「TOO_MANY_OPENED」

"NO_MEMORY"

「NO_SPACE」

「NOT_A_DIRECTORY」

「INVALID_OPERATION」

「SECURITY」

「ABORT」

"NOT_A_FILE"

「NOT_EMPTY」

「INVALID_URL」

「IO」

ReadDirectoryRequestedOptions

屬性

  • directoryPath

    字串

    要求內容的目錄路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • isDirectory

    布林值

    Chrome 49 以上版本

    如果要求 is_directory 值,請設為 true。

  • mimeType

    布林值

    Chrome 49 以上版本

    如果要求 mimeType 值,請設為 true。

  • modificationTime

    布林值

    Chrome 49 以上版本

    如果要求 modificationTime 值,請設為 true。

  • 名稱

    布林值

    Chrome 49 以上版本

    如果要求 name 值,請設為 true。

  • requestId

    數字

    這項要求的專屬 ID。

  • 大小

    布林值

    Chrome 49 以上版本

    如果要求 size 值,請設為 true。

  • 縮圖

    布林值

    Chrome 49 以上版本

    如果要求 thumbnail 值,請設為 true。

ReadFileRequestedOptions

屬性

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • 長度

    數字

    要傳回的位元組數。

  • 碳補償

    數字

    開始讀取檔案的位置 (以位元組為單位)。

  • openRequestId

    數字

    用於開啟檔案的要求 ID。

  • requestId

    數字

    這項要求的專屬 ID。

RemoveWatcherRequestedOptions

屬性

  • entryPath

    字串

    所監看項目的路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • 遞迴

    布林值

    監看指令碼的模式。

  • requestId

    數字

    這項要求的專屬 ID。

TruncateRequestedOptions

屬性

  • filePath

    字串

    要截斷的檔案路徑。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • 長度

    數字

    作業完成後要保留的位元組數。

  • requestId

    數字

    這項要求的專屬 ID。

UnmountOptions

屬性

  • fileSystemId

    字串

    要卸載的檔案系統 ID。

UnmountRequestedOptions

屬性

  • fileSystemId

    字串

    要卸載的檔案系統 ID。

  • requestId

    數字

    這項要求的專屬 ID。

Watcher

屬性

  • entryPath

    字串

    要觀察的項目路徑。

  • lastTag

    字串 選填

    用於最後一則觀察者通知的標記。

  • 遞迴

    布林值

    是否應以遞迴方式監看所有子項目。只有目錄可以設為 true。

WriteFileRequestedOptions

屬性

  • 資料

    ArrayBuffer

    要寫入檔案的位元組緩衝區。

  • fileSystemId

    字串

    與這項作業相關的檔案系統 ID。

  • 碳補償

    數字

    開始寫入位元組的檔案位置 (以位元組為單位)。

  • openRequestId

    數字

    用於開啟檔案的要求 ID。

  • requestId

    數字

    這項要求的專屬 ID。

方法

get()

Promise
chrome.fileSystemProvider.get(
  fileSystemId: string,
  callback?: function,
)
: Promise<FileSystemInfo>

傳回與傳遞的 fileSystemId 相關的檔案系統資訊。

參數

傳回

  • Chrome 96 以上版本

    接收 get 函式結果的回呼。

    只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。

getAll()

Promise
chrome.fileSystemProvider.getAll(
  callback?: function,
)
: Promise<FileSystemInfo[]>

傳回擴充功能掛載的所有檔案系統。

參數

傳回

  • Promise<FileSystemInfo[]>

    Chrome 96 以上版本

    接收 getAll 函式結果的回呼。

    只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。

mount()

Promise
chrome.fileSystemProvider.mount(
  options: MountOptions,
  callback?: function,
)
: Promise<void>

使用指定的 fileSystemId 和 displayName 掛接檔案系統。displayName會顯示在「檔案」應用程式的左側面板中。displayName可包含任何字元 (包括「/」),但不得為空字串。displayName必須是描述性文字,但不必是獨一無二的。fileSystemId 不得為空字串。

視要掛接的檔案系統類型而定,source 選項必須正確設定。

如果發生錯誤,runtime.lastError 會設為相應的錯誤代碼。

參數

  • 選項
  • callback

    函式 選填

    callback 參數如下:

    () => void

傳回

  • Promise<void>

    Chrome 96 以上版本

    一般結果回呼,用於指出成功或失敗。

    只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。

notify()

Promise Chrome 45 以上版本
chrome.fileSystemProvider.notify(
  options: NotifyOptions,
  callback?: function,
)
: Promise<void>

在 recursive 模式下,通知所監控目錄 observedPath 的變更。如果檔案系統是使用 supportsNotifyTag 掛接,則必須提供 tag,且系統一律會回報上次通知後的所有變更,即使系統已關機也一樣。最後一個標記可透過 getAll 取得。

如要使用這項功能,file_system_provider.notify 資訊清單選項必須設為 true。

tag 的值可以是每次呼叫的專屬字串,因此可以識別最後註冊的通知。舉例來說,如果提供擴充功能在重新啟動後啟動,且最後註冊的通知標記等於「123」,則應針對標記為「123」的變更後發生的所有變更,呼叫 notify。不得為空字串。

並非所有供應商都能提供標記,但如果檔案系統有變更記錄,標記可以是變更編號或修訂版本編號等。

請注意,如果移除父項目錄,所有子項項目也會一併移除,且如果這些項目受到監控,API 就必須收到相關通知。此外,如果目錄重新命名,所有子項都會實際移除,因為原始路徑下已沒有任何項目。

如果發生錯誤,runtime.lastError 會設為相應的錯誤代碼。

參數

  • 選項
  • callback

    函式 選填

    callback 參數如下:

    () => void

傳回

  • Promise<void>

    Chrome 96 以上版本

    一般結果回呼,用於指出成功或失敗。

    只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。

unmount()

Promise
chrome.fileSystemProvider.unmount(
  options: UnmountOptions,
  callback?: function,
)
: Promise<void>

使用指定的 fileSystemId 卸載檔案系統。必須在叫用 onUnmountRequested 後呼叫這個方法。此外,如果未要求提供擴充功能 (例如連線中斷或發生檔案錯誤),提供擴充功能可以決定是否要執行卸載。

如果發生錯誤,runtime.lastError 會設為相應的錯誤代碼。

參數

  • callback

    函式 選填

    callback 參數如下:

    () => void

傳回

  • Promise<void>

    Chrome 96 以上版本

    一般結果回呼,用於指出成功或失敗。

    只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。

事件

onAbortRequested

chrome.fileSystemProvider.onAbortRequested.addListener(
  callback: function,
)

要求使用 operationRequestId 中止作業時,系統會引發這個例外狀況。必須立即停止使用 operationRequestId 執行的作業,並執行這項中止要求的 successCallback。如果中止失敗,就必須呼叫 errorCallback。請注意,系統會忽略已中止作業的回呼,因此不得呼叫這些回呼。即使呼叫 errorCallback,要求也可能會強制中止。

參數

  • callback

    函式

    callback 參數如下:

    (options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void

onAddWatcherRequested

Chrome 45 以上版本
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
  callback: function,
)

要求設定新的目錄監控程式時引發。如果發生錯誤,就必須呼叫 errorCallback。

參數

onCloseFileRequested

chrome.fileSystemProvider.onCloseFileRequested.addListener(
  callback: function,
)

當要求關閉先前以 openRequestId 開啟的檔案時,就會引發此事件。

參數

onConfigureRequested

Chrome 44 以上版本
chrome.fileSystemProvider.onConfigureRequested.addListener(
  callback: function,
)

要求顯示 fileSystemId 的設定對話方塊時引發。如果已處理,則必須將 file_system_provider.configurable 資訊清單選項設為 true。

參數

onCopyEntryRequested

chrome.fileSystemProvider.onCopyEntryRequested.addListener(
  callback: function,
)

要求複製項目 (如果是目錄,則為遞迴複製) 時引發。如果發生錯誤,就必須呼叫 errorCallback。

參數

onCreateDirectoryRequested

chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
  callback: function,
)

要求建立目錄時會引發此例外狀況。如果目標目錄已存在,作業就必須因 EXISTS 錯誤而失敗。如果 recursive 為 true,則必須建立目錄路徑中所有缺少的目錄。

參數

onCreateFileRequested

chrome.fileSystemProvider.onCreateFileRequested.addListener(
  callback: function,
)

要求建立檔案時會引發此事件。如果檔案已存在,則必須使用 "EXISTS" 錯誤代碼呼叫 errorCallback。

參數

onDeleteEntryRequested

chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
  callback: function,
)

要求刪除項目時會引發此事件。如果 recursive 為 true,且項目是目錄,則必須以遞迴方式刪除目錄內的所有項目。

參數

onExecuteActionRequested

Chrome 48 以上版本
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
  callback: function,
)

要求對一組檔案或目錄執行動作時引發。完成動作後,必須呼叫 successCallback。發生錯誤時,必須呼叫 errorCallback。

參數

onGetActionsRequested

Chrome 48 以上版本
chrome.fileSystemProvider.onGetActionsRequested.addListener(
  callback: function,
)

要求一組檔案或目錄 (位於 entryPaths) 的動作清單時,系統會引發這個事件。所有傳回的動作都必須適用於每個項目。如果沒有這類動作,則應傳回空白陣列。動作必須透過 successCallback 呼叫傳回。如果發生錯誤,必須呼叫 errorCallback。

參數

onGetMetadataRequested

chrome.fileSystemProvider.onGetMetadataRequested.addListener(
  callback: function,
)

要求 entryPath 的檔案或目錄中繼資料時引發。中繼資料必須透過 successCallback 呼叫傳回。如果發生錯誤,必須呼叫 errorCallback。

參數

onMountRequested

Chrome 44 以上版本
chrome.fileSystemProvider.onMountRequested.addListener(
  callback: function,
)

要求顯示對話方塊以掛接新檔案系統時引發。如果擴充功能/應用程式是檔案處理常式,則不應處理這個事件。而是應處理 app.runtime.onLaunched,以便在開啟檔案時掛接新的檔案系統。如要使用多個掛接點,file_system_provider.multiple_mounts 資訊清單選項必須設為 true。

參數

  • callback

    函式

    callback 參數如下:

    (successCallback: function, errorCallback: function) => void

    • successCallback

      函式

      successCallback 參數如下:

      () => void

    • errorCallback

      函式

      errorCallback 參數如下:

      (error: ProviderError) => void

onMoveEntryRequested

chrome.fileSystemProvider.onMoveEntryRequested.addListener(
  callback: function,
)

要求移動項目 (如果是目錄,則為遞迴) 時引發。如果發生錯誤,就必須呼叫 errorCallback。

參數

onOpenFileRequested

chrome.fileSystemProvider.onOpenFileRequested.addListener(
  callback: function,
)

要求在 filePath 開啟檔案時會引發此事件。如果檔案不存在,作業就必須失敗。您可以使用 MountOptions 指定一次開啟的檔案數量上限。

參數

onReadDirectoryRequested

chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
  callback: function,
)

要求目錄 directoryPath 的內容時會引發此事件。您必須多次呼叫 successCallback,才能以區塊形式傳回結果。如果發生錯誤,必須呼叫 errorCallback。

參數

onReadFileRequested

chrome.fileSystemProvider.onReadFileRequested.addListener(
  callback: function,
)

要求讀取先前以 openRequestId 開啟的檔案內容時,會引發這個例外狀況。您必須多次呼叫 successCallback,以區塊形式傳回結果。如果發生錯誤,必須呼叫 errorCallback。

參數

  • callback

    函式

    callback 參數如下:

    (options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void

    • successCallback

      函式

      successCallback 參數如下:

      (data: ArrayBuffer, hasMore: boolean) => void

      • 資料

        ArrayBuffer

      • hasMore

        布林值

    • errorCallback

      函式

      errorCallback 參數如下:

      (error: ProviderError) => void

onRemoveWatcherRequested

Chrome 45 以上版本
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
  callback: function,
)

應移除監看程式時引發。如果發生錯誤,就必須呼叫 errorCallback。

參數

onTruncateRequested

chrome.fileSystemProvider.onTruncateRequested.addListener(
  callback: function,
)

要求將檔案截斷至所需長度時引發。如果發生錯誤,就必須呼叫 errorCallback。

參數

onUnmountRequested

chrome.fileSystemProvider.onUnmountRequested.addListener(
  callback: function,
)

要求卸載具有 fileSystemId ID 的檔案系統時,就會發生這種例外狀況。在回應中,unmount API 方法必須與 successCallback 一併呼叫。如果無法卸載 (例如因為有待處理的作業),則必須呼叫 errorCallback。

參數

onWriteFileRequested

chrome.fileSystemProvider.onWriteFileRequested.addListener(
  callback: function,
)

要求將內容寫入先前以 openRequestId 開啟的檔案時,會引發此例外狀況。

參數