說明
使用 chrome.fileSystemProvider
API 建立可透過 Chrome 作業系統檔案管理員存取的檔案系統。
權限
fileSystemProvider
可用性
資訊清單
您必須宣告「fileSystemProvider」權限以及擴充功能資訊清單一節,要求使用 File System Provider API。例如:
{
"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
(列舉「檔案」、「裝置」或「網路」) - 必要- 已掛接檔案系統的資料來源。
Files 應用程式會使用上述資訊,適當轉譯相關的 UI 元素。舉例來說,如果 configurable
設為 True,系統就會顯示用於設定磁碟區的選單項目。同樣地,如果 multiple_mounts
設為 true
,「Files」應用程式就會允許從 UI 新增多個掛接點。如果 watchable
為 false
,系統會顯示重新整理按鈕。請注意,如果可能,建議您新增看守工具的支援,讓系統立即反映檔案系統的變更。
總覽
File System Provider API 可讓擴充功能支援虛擬檔案系統,ChromeOS 的檔案管理員也提供這項功能。用途包括將封存檔解壓縮,以及存取雲端硬碟以外雲端服務中的檔案。
掛接檔案系統
提供擴充功能可以提供外部來源 (例如遠端伺服器或 USB 裝置) 中的檔案系統內容,也可以使用本機檔案 (例如封存檔) 做為輸入來源。
如要編寫檔案處理常式 (來源為 "file"
) 的檔案系統,供應器必須是封裝應用程式,因為擴充功能無法使用 onLaunched
事件。
如果來源為網路或裝置,則呼叫 onMountRequested 事件時應掛接檔案系統。
檔案系統資料的來源 | 進入點 |
---|---|
"file" |
僅適用於封裝應用程式。 |
"device" 或 "network" |
onMountRequested |
設定檔案系統
掛接後,即可透過 onConfigureRequested 事件設定掛接的檔案系統。對於透過網路提供內容的檔案系統,這會設定適當的憑證。您可以選擇是否要處理這個事件。
生命週期
Chrome 會記住掛接後提供的檔案系統,在重新啟動或重新啟動後自動重新掛接。因此,一旦提供的擴充功能將檔案系統「掛接」,在卸載擴充功能或擴充功能呼叫 unmount 方法,就會維持現狀。
類型
AbortRequestedOptions
屬性
-
fileSystemId
字串
與此作業相關的檔案系統 ID。
-
operationRequestId
數字
要取消要求的 ID。
-
requestId
數字
要求的專屬 ID。
Action
屬性
-
id
字串
動作的 ID。任何字串或
CommonActionId
(用於常用動作)。 -
title
string optional
動作的標題。系統可能會忽略常見動作。
AddWatcherRequestedOptions
屬性
-
entryPath
字串
要觀察的項目路徑。
-
fileSystemId
字串
與此作業相關的檔案系統 ID。
-
遞迴
布林值
觀察是否應遞迴包含所有子項目。僅適用於目錄。
-
requestId
數字
要求的專屬 ID。
Change
屬性
-
changeType
項目發生的變更類型。
-
cloudFileInfoChrome 125 以上版本
與檔案相關的資訊 (如果由雲端檔案系統提供支援)。
-
entryPath
字串
已變更項目的路徑。
ChangeType
在觀察到的目錄中偵測到的變化類型。
列舉
「變更」
「已刪除」
CloseFileRequestedOptions
屬性
-
fileSystemId
字串
與此作業相關的檔案系統 ID。
-
openRequestId
數字
用來開啟檔案的要求 ID。
-
requestId
數字
要求的專屬 ID。
CloudFileInfo
屬性
-
versionTag
string optional
代表檔案版本的標記。
CloudIdentifier
屬性
-
id
字串
指定檔案/目錄的提供者 ID。
-
providerName
字串
雲端儲存空間供應商的 ID (例如「drive.google.com」)。
CommonActionId
常用動作清單。"SHARE"
可用來與他人共用檔案。"SAVE_FOR_OFFLINE"
可固定 (儲存供離線存取)。"OFFLINE_NOT_NECESSARY"
,用於通知檔案不再需要儲存並離線存取。由 onGetActionsRequested
和 onExecuteActionRequested
使用。
列舉
"SAVE_FOR_OFFLINE"
"OFFLINE_NOT_NECESSARY"
「分享」
ConfigureRequestedOptions
屬性
-
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
屬性
-
cloudFileInfoChrome 125 以上版本
可識別基礎雲端檔案系統中特定檔案的資訊。若在
options
中提出要求,則必須提供此內容,且檔案由雲端儲存空間提供支援。 -
cloudIdentifierChrome 117 以上版本
此項目的 Cloud Storage 表示法。若在
options
中提出要求,則必須提供此內容,且檔案由雲端儲存空間提供支援。如果本機檔案不在雲端儲存空間的支援範圍內,應在要求時未定義。 -
isDirectory
布林值 選填
如果是目錄,則為 True。若在
options
中提出要求,必須提供此屬性。 -
mimeType
string optional
項目的 Mime 類型。一律為選填,但如果在
options
中要求,則應提供此資訊。 -
modificationTime
日期 (選填)
這個項目的上次修改時間。若在
options
中提出要求,必須提供此屬性。 -
名稱
string optional
這個項目的名稱 (非完整路徑名稱)。不得包含「/」。根層級必須留空。若在
options
中提出要求,必須提供此屬性。 -
大小
編號 選填
檔案大小,以位元組為單位。若在
options
中提出要求,必須提供此屬性。 -
thumbnail
string optional
縮圖圖片可做為資料 URI 的資料 URI,格式為 PNG、JPEG 或 WEBP,大小最多 32 KB。選用,但只有在
onGetMetadataRequested
事件明確要求時才提供。
ExecuteActionRequestedOptions
屬性
-
actionId
字串
要執行的動作 ID。
-
entryPaths
string[]
Chrome 47 以上版本用於動作的項目組合路徑。
-
fileSystemId
字串
與此作業相關的檔案系統 ID。
-
requestId
數字
要求的專屬 ID。
FileSystemInfo
屬性
-
displayName
字串
使用者可理解的檔案系統名稱。
-
fileSystemId
字串
檔案系統的 ID。
-
openedFiles
目前開啟檔案的清單。
-
openedFilesLimit
數字
一次可開啟的檔案數量上限。如果值為 0,則不受限。
-
supportsNotifyTag
布林值 選填
Chrome 45 以上版本檔案系統是否支援觀察目錄的
tag
欄位。 -
監看指令碼
監看指令碼[]
Chrome 45 以上版本觀察者清單。
-
可寫入
布林值
檔案系統是否支援可能會變更檔案系統內容的作業 (例如建立、刪除或寫入檔案)。
GetActionsRequestedOptions
屬性
-
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
布林值
如果要求
thumbnail
值,請設為true
。
MountOptions
屬性
-
displayName
字串
使用者可理解的檔案系統名稱。
-
fileSystemId
字串
檔案系統的字串識別碼。每項擴充功能的名稱皆不得重複,
-
openedFilesLimit
編號 選填
一次可開啟的檔案數量上限。如果未指定,或是 0,則無限制。
-
永久
布林值 選填
Chrome 64 以上版本架構是否應在下次登入工作階段中恢復檔案系統。預設為 True。
-
supportsNotifyTag
布林值 選填
Chrome 45 以上版本檔案系統是否支援觀察到的目錄的
tag
欄位。 -
可寫入
布林值 選填
檔案系統是否支援可能會變更檔案系統內容的作業 (例如建立、刪除或寫入檔案)。
MoveEntryRequestedOptions
屬性
-
fileSystemId
字串
與此作業相關的檔案系統 ID。
-
requestId
數字
要求的專屬 ID。
-
sourcePath
字串
要移至新位置的項目來源路徑。
-
targetPath
字串
複製作業的目的地路徑。
NotifyOptions
屬性
-
changeType
觀察到的項目變更類型。如果狀態為 DELETED,則觀察到的項目會自動從觀察到的項目清單中移除。
-
變更
變更[] 選用
觀察到的目錄中項目變更清單 (包含項目本身)
-
fileSystemId
字串
與此變更相關的檔案系統 ID。
-
observedPath
字串
觀察項目的路徑。
-
遞迴
布林值
觀察到的項目模式。
-
標記
string optional
通知的標記。如果檔案系統是透過
supportsNotifyTag
選項掛接,則為必要欄位。請注意,即使系統關機,這些變更需要此標記才能提供變更的通知。
OpenedFile
屬性
-
filePath
字串
開啟檔案的路徑。
-
模式
檔案是否為了讀取或寫入而開啟。
-
openRequestId
數字
要由連續讀取/寫入和關閉要求使用的要求 ID。
OpenFileMode
開啟檔案模式。由 onOpenFileRequested
使用。
列舉
「READ」
「寫入」
OpenFileRequestedOptions
屬性
-
filePath
字串
要開啟的檔案路徑。
-
fileSystemId
字串
與此作業相關的檔案系統 ID。
-
模式
檔案是否用於讀取或寫入。
-
requestId
數字
連續讀取/寫入和關閉要求會使用的要求 ID。
ProviderError
提供擴充功能以回應要求,以及在呼叫 API 方法時發生錯誤時顯示的錯誤代碼。如要成功,必須使用 "OK"
。
列舉
「確定」
「失敗」
"IN_USE"
「EXISTS」
"NOT_FOUND"
"ACCESS_DENIED"
"TOO_MANY_OPENED"
"NO_MEMORY"
「NO_SPACE」
"NOT_A_DIRECTORY"
"INVALID_OPERATION"
「安全性」
「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
。 -
thumbnail
布林值
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
string optional
手錶上次通知使用的標籤。
-
遞迴
布林值
是否應遞迴包含所有子項目。僅適用於目錄。
WriteFileRequestedOptions
屬性
-
資料
ArrayBuffer
要寫入檔案的位元組緩衝區。
-
fileSystemId
字串
與此作業相關的檔案系統 ID。
-
碳補償
數字
在檔案中的位置 (以位元組為單位),開始寫入位元組。
-
openRequestId
數字
用來開啟檔案的要求 ID。
-
requestId
數字
要求的專屬 ID。
方法
get()
chrome.fileSystemProvider.get(
fileSystemId: string,
callback?: function,
)
透過傳遞的 fileSystemId
傳回檔案系統的相關資訊。
參數
-
fileSystemId
字串
-
回呼
函式 選用
callback
參數如下所示:(fileSystem: FileSystemInfo) => void
-
fileSystem
-
傳回
-
Promise<FileSystemInfo>
Chrome 96 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
getAll()
chrome.fileSystemProvider.getAll(
callback?: function,
)
傳回由副檔名掛接的所有檔案系統。
參數
-
回呼
函式 選用
callback
參數如下所示:(fileSystems: FileSystemInfo[]) => void
-
fileSystems
-
傳回
-
Promise<FileSystemInfo[]>
Chrome 96 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
mount()
chrome.fileSystemProvider.mount(
options: MountOptions,
callback?: function,
)
使用指定的 fileSystemId
和 displayName
掛接檔案系統。displayName
會顯示在「檔案」應用程式的左側面板中。displayName
可包含「/」等任何字元,但不得為空白字串。displayName
必須為描述性,但可以重複。fileSystemId
不得為空白字串。
根據掛接的檔案系統類型,請務必正確設定 source
選項。
如果發生錯誤,runtime.lastError
會有對應的錯誤代碼。
參數
-
選項
-
回呼
函式 選用
callback
參數如下所示:() => void
傳回
-
承諾<void>
Chrome 96 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
notify()
chrome.fileSystemProvider.notify(
options: NotifyOptions,
callback?: function,
)
當 recursive
模式下的 observedPath
模式出現變更時,系統會通知您。如果檔案系統與 supportsNotifyTag
掛接,則必須提供 tag
,以及自上次通知以來的所有變更 (即使系統已關閉)。您可以使用 getAll
取得最後一個標記。
如要使用,file_system_provider.notify
資訊清單選項必須設為 true。
tag
的值可以是每次呼叫專屬的任何字串,因此可以識別最後一則登錄的通知。例如:如果提供的擴充功能會在重新啟動後開始,且上次註冊通知的標記等於「123」,則應該針對變更標記為「123」後發生的所有變更呼叫 notify
。不得為空白字串。
並不是所有供應商都能提供標記,但如果檔案系統有變更記錄,則標記可能也不例外。變更編號或修訂版本編號
請注意,如果移除父項目錄,則所有子系項目也會一併移除;如果他們觀看,則 API 必須通知相關資訊。此外,如果重新命名目錄,則所有子系項目都會移除,因為原路徑中已經不再有項目。
如果發生錯誤,runtime.lastError
會設定對應的錯誤代碼。
參數
-
回呼
函式 選用
callback
參數如下所示:() => void
傳回
-
承諾<void>
Chrome 96 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
)
使用指定的 fileSystemId
卸載檔案系統。您必須在叫用 onUnmountRequested
後呼叫這個方法。此外,提供的擴充功能可在未要求的情況下 (例如連線中斷或檔案錯誤) 自行卸載。
如果發生錯誤,runtime.lastError
會有對應的錯誤代碼。
參數
-
回呼
函式 選用
callback
參數如下所示:() => void
傳回
-
承諾<void>
Chrome 96 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
活動
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
在要求使用 operationRequestId
取消作業時引發。使用 operationRequestId
執行的作業必須立即停止,且執行這項取消要求中的 successCallback
。如果取消作業失敗,就必須呼叫 errorCallback
。請注意,不得呼叫已取消作業的回呼,系統會忽略這些回呼。雖然呼叫 errorCallback
的情形,仍可能被強制取消要求。
參數
-
回呼
函式
callback
參數如下所示:(options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onAddWatcherRequested
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
callback: function,
)
在要求設定新的目錄監看程式時引發。如果發生錯誤,就必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onCloseFileRequested
chrome.fileSystemProvider.onCloseFileRequested.addListener(
callback: function,
)
引發時機:要求關閉先前使用 openRequestId
開啟的檔案。
參數
-
回呼
函式
callback
參數如下所示:(options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onConfigureRequested
chrome.fileSystemProvider.onConfigureRequested.addListener(
callback: function,
)
在要求顯示 fileSystemId
的設定對話方塊時引發。如果加以處理,file_system_provider.configurable
資訊清單選項必須設為 true。
參數
-
回呼
函式
callback
參數如下所示:(options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onCopyEntryRequested
chrome.fileSystemProvider.onCopyEntryRequested.addListener(
callback: function,
)
在要求複製項目時引發。如果要求複製目錄,就會引發此事件。如果發生錯誤,就必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onCreateDirectoryRequested
chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
callback: function,
)
在要求建立目錄時引發。如果目標目錄已存在,作業就必須失敗並顯示 EXISTS 錯誤。如果 recursive
為 true,則必須建立目錄路徑上缺少的所有目錄。
參數
-
回呼
函式
callback
參數如下所示:(options: CreateDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onCreateFileRequested
chrome.fileSystemProvider.onCreateFileRequested.addListener(
callback: function,
)
於要求建立檔案時引發。如果檔案已存在,則必須使用 "EXISTS"
錯誤代碼呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onDeleteEntryRequested
chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
callback: function,
)
在要求刪除項目時引發。如果 recursive
為 true,且項目是目錄,則裡面所有項目都必須以遞迴方式刪除。
參數
-
回呼
函式
callback
參數如下所示:(options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onExecuteActionRequested
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
callback: function,
)
在要求對一組檔案或目錄執行動作時引發。動作完成後,必須呼叫 successCallback
。發生錯誤時,必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: ExecuteActionRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onGetActionsRequested
chrome.fileSystemProvider.onGetActionsRequested.addListener(
callback: function,
)
在要求 entryPaths
的一組檔案或目錄動作清單時引發。所有傳回的動作都必須適用於每個項目。如果沒有這類動作,則應傳回空白陣列。動作必須透過 successCallback
呼叫傳回。如果發生錯誤,必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:(actions: Action[]) => void
-
作業
動作片[]
-
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
在要求 entryPath
的檔案或目錄中繼資料時引發。中繼資料必須透過 successCallback
呼叫傳回。如果發生錯誤,必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: GetMetadataRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:(metadata: EntryMetadata) => void
-
中繼資料
-
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onMountRequested
chrome.fileSystemProvider.onMountRequested.addListener(
callback: function,
)
在要求掛接新檔案系統的對話方塊時引發。如果擴充功能/應用程式是檔案處理常式,就不應處理這個事件。建議您改為處理 app.runtime.onLaunched
,以便在開啟檔案時掛接新的檔案系統。如有多個掛接項目,file_system_provider.multiple_mounts
資訊清單選項必須設為 true。
參數
-
回呼
函式
callback
參數如下所示:(successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
-
onMoveEntryRequested
chrome.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
在要求移動項目時引發 (對目錄而言以遞迴方式)。如果發生錯誤,就必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onOpenFileRequested
chrome.fileSystemProvider.onOpenFileRequested.addListener(
callback: function,
)
收到要求在 filePath
開啟檔案時引發。如果檔案不存在,則作業必須失敗。您可以使用 MountOptions
指定一次開啟的檔案數量上限。
參數
-
回呼
函式
callback
參數如下所示:(options: OpenFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:(metadata?: EntryMetadata) => void
-
中繼資料
-
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onReadDirectoryRequested
chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
callback: function,
)
在要求 directoryPath
目錄內容時引發。必須呼叫 successCallback
多次,分區塊傳回結果。如果發生錯誤,必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:(entries: EntryMetadata[], hasMore: boolean) => void
-
項目
-
hasMore
布林值
-
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onReadFileRequested
chrome.fileSystemProvider.onReadFileRequested.addListener(
callback: function,
)
在要求讀取先前使用 openRequestId
開啟的檔案內容時引發。必須呼叫 successCallback
多次,以分塊的方式傳回結果。如果發生錯誤,必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:(data: ArrayBuffer, hasMore: boolean) => void
-
資料
ArrayBuffer
-
hasMore
布林值
-
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onRemoveWatcherRequested
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
引發時機:應移除監看指令碼。如果發生錯誤,就必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: RemoveWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onTruncateRequested
chrome.fileSystemProvider.onTruncateRequested.addListener(
callback: function,
)
在要求將檔案截斷至符合所需長度時引發。如果發生錯誤,就必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onUnmountRequested
chrome.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
引發時機:要求使用 fileSystemId
ID 為檔案系統卸載時。在回應中,必須和 successCallback
一起呼叫 unmount
API 方法。如果無法卸載 (例如因為有待處理的作業),則必須呼叫 errorCallback
。
參數
-
回呼
函式
callback
參數如下所示:(options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void
onWriteFileRequested
chrome.fileSystemProvider.onWriteFileRequested.addListener(
callback: function,
)
要求寫入先前使用 openRequestId
開啟的檔案時引發的要求。
參數
-
回呼
函式
callback
參數如下所示:(options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函式
successCallback
參數如下所示:() => void
-
errorCallback
函式
errorCallback
參數如下所示:(error: ProviderError) => void