說明
使用 chrome.fileSystemProvider
API 建立檔案系統 (可透過 Chrome OS 的檔案管理員存取)。
權限
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
(列舉「file」、「device」或「network」):必要- 掛接檔案系統的資料來源。
檔案應用程式會使用上述資訊,正確顯示相關的 UI 元素。舉例來說,如果將 configurable
設為 True,系統就會顯示用來設定磁碟區的選單項目。同樣地,如果 multiple_mounts
設為 true
,那麼 Files 應用程式將允許從使用者介面新增多個掛接點。如果 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
字串 選用
動作的標題。系統可能會忽略一般動作。
AddWatcherRequestedOptions
屬性
-
entryPath
字串
要觀察的項目路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
遞迴
boolean
觀察是否應遞迴包含所有子項項目。只有目錄可以如此。
-
requestId
號碼
此要求的專屬 ID。
Change
屬性
-
changeType
項目所發生變更的類型。
-
cloudFileInfoChrome 125 以上版本
檔案相關資訊 (如果是由雲端檔案系統提供支援)。
-
entryPath
字串
已變更項目的路徑。
ChangeType
在觀察到的目錄中偵測到的變更類型。
列舉
CloseFileRequestedOptions
屬性
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
openRequestId
號碼
開啟檔案時使用的要求 ID。
-
requestId
號碼
此要求的專屬 ID。
CloudFileInfo
屬性
-
versionTag
字串 選用
代表檔案版本的標記。
CloudIdentifier
屬性
-
id
字串
指定檔案/目錄的提供者 ID。
-
providerName
字串
雲端儲存空間供應商的 ID (例如「drive.google.com」)。
CommonActionId
常用動作清單。「"SHARE"
」是用來與他人共用檔案。"SAVE_FOR_OFFLINE"
:可固定 (儲存供離線存取)。"OFFLINE_NOT_NECESSARY"
:用於通知他人不再需要儲存檔案以供離線存取。由 onGetActionsRequested
和 onExecuteActionRequested
使用。
列舉
ConfigureRequestedOptions
屬性
-
fileSystemId
字串
要設定的檔案系統 ID。
-
requestId
號碼
此要求的專屬 ID。
CopyEntryRequestedOptions
屬性
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
requestId
號碼
此要求的專屬 ID。
-
sourcePath
字串
要複製的項目來源路徑。
-
targetPath
字串
複製作業的目的地路徑。
CreateDirectoryRequestedOptions
屬性
-
directoryPath
字串
要建立的目錄路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
遞迴
boolean
這項作業是否為遞迴 (僅限目錄)。
-
requestId
號碼
此要求的專屬 ID。
CreateFileRequestedOptions
屬性
-
filePath
字串
要建立的檔案路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
requestId
號碼
此要求的專屬 ID。
DeleteEntryRequestedOptions
屬性
-
entryPath
字串
待刪除項目的路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
遞迴
boolean
這項作業是否為遞迴 (僅限目錄)。
-
requestId
號碼
此要求的專屬 ID。
EntryMetadata
屬性
-
cloudFileInfoChrome 125 以上版本
可在基礎雲端檔案系統中識別特定檔案的資訊。如在
options
要求,且檔案是由雲端儲存空間備份,則必須提供。 -
cloudIdentifierChrome 117 以上版本
此項目的 Cloud Storage 表示法。如在
options
要求,且檔案是由雲端儲存空間備份,則必須提供。如果是未備份至雲端儲存空間的本機檔案,不應在收到要求時定義。 -
isDirectory
布林值 (選用)
如果是目錄,則為「true」。如在
options
提出要求,則必須提供。 -
mimeType
字串 選用
項目的 MIME 類型。一律選用,但如果在
options
中提出要求,則應提供此屬性。 -
modificationTime
日期 (選填)
這個項目的上次修改時間。如在
options
提出要求,則必須提供。 -
名稱
字串 選用
這個項目的名稱 (非完整的路徑名稱)。不得包含「/」。根時必須留空。如在
options
提出要求,則必須提供。 -
大小
數字 選填
檔案大小 (以位元組為單位)。如在
options
提出要求,則必須提供。 -
thumbnail
字串 選用
縮圖圖片為資料 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 以上版本觀察者清單。
-
可寫入
boolean
檔案系統是否支援可能變更檔案系統內容的作業 (例如建立、刪除或寫入檔案)。
GetActionsRequestedOptions
屬性
-
entryPaths
string[]
Chrome 47 以上版本動作清單的項目路徑清單。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
requestId
號碼
此要求的專屬 ID。
GetMetadataRequestedOptions
屬性
-
cloudFileInfo
boolean
Chrome 125 以上版本如果要求
cloudFileInfo
值,請設為true
。 -
cloudIdentifier
boolean
Chrome 117 以上版本如果要求
cloudIdentifier
值,請設為true
。 -
entryPath
字串
要擷取相關中繼資料的項目路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
isDirectory
boolean
Chrome 49 以上版本如果要求
is_directory
值,請設為true
。 -
mimeType
boolean
Chrome 49 以上版本如果要求
mimeType
值,請設為true
。 -
modificationTime
boolean
Chrome 49 以上版本如果要求
modificationTime
值,請設為true
。 -
名稱
boolean
Chrome 49 以上版本如果要求
name
值,請設為true
。 -
requestId
號碼
此要求的專屬 ID。
-
大小
boolean
Chrome 49 以上版本如果要求
size
值,請設為true
。 -
thumbnail
boolean
如果要求
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
字串
觀察項目的路徑。
-
遞迴
boolean
觀察的項目模式。
-
標記
字串 選用
通知的標記。如果使用
supportsNotifyTag
選項掛接檔案系統,則為必要欄位。請注意,如果系統關閉了,則此標記需要用來提供變更相關通知。
OpenedFile
屬性
-
filePath
字串
開啟檔案的路徑。
-
模式
檔案是否已開啟進行讀取或寫入。
-
openRequestId
號碼
連續讀取/寫入和關閉要求所使用的要求 ID。
OpenFileMode
開啟檔案的模式。由 onOpenFileRequested
使用。
列舉
OpenFileRequestedOptions
屬性
-
filePath
字串
要開啟的檔案路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
模式
檔案是否用於讀取或寫入。
-
requestId
號碼
連續讀取/寫入和關閉要求會使用的要求 ID。
ProviderError
提供用於回應要求擴充功能,以及在呼叫 API 方法發生錯誤時,使用的錯誤代碼。如要成功,必須使用 "OK"
。
列舉
"NO_SPACE"
「INVALID_OPERATION」
ReadDirectoryRequestedOptions
屬性
-
directoryPath
字串
要求內容的目錄路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
isDirectory
boolean
Chrome 49 以上版本如果要求
is_directory
值,請設為true
。 -
mimeType
boolean
Chrome 49 以上版本如果要求
mimeType
值,請設為true
。 -
modificationTime
boolean
Chrome 49 以上版本如果要求
modificationTime
值,請設為true
。 -
名稱
boolean
Chrome 49 以上版本如果要求
name
值,請設為true
。 -
requestId
號碼
此要求的專屬 ID。
-
大小
boolean
Chrome 49 以上版本如果要求
size
值,請設為true
。 -
thumbnail
boolean
Chrome 49 以上版本如果要求
thumbnail
值,請設為true
。
ReadFileRequestedOptions
屬性
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
length
號碼
要傳回的位元組數。
-
碳補償
號碼
從檔案中的位置 (以位元組為單位) 開始讀取。
-
openRequestId
號碼
開啟檔案時使用的要求 ID。
-
requestId
號碼
此要求的專屬 ID。
RemoveWatcherRequestedOptions
屬性
-
entryPath
字串
已觀察項目的路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
遞迴
boolean
監看指令碼的模式。
-
requestId
號碼
此要求的專屬 ID。
TruncateRequestedOptions
屬性
-
filePath
字串
要截斷的檔案路徑。
-
fileSystemId
字串
與這項作業相關的檔案系統 ID。
-
length
號碼
作業完成後要保留的位元組數。
-
requestId
號碼
此要求的專屬 ID。
UnmountOptions
屬性
-
fileSystemId
字串
要卸載檔案系統的 ID。
UnmountRequestedOptions
屬性
-
fileSystemId
字串
要卸載檔案系統的 ID。
-
requestId
號碼
此要求的專屬 ID。
Watcher
屬性
-
entryPath
字串
觀察項目的路徑。
-
lastTag
字串 選用
監看員上次通知使用的標記。
-
遞迴
boolean
觀看是否應以遞迴方式納入所有子項項目。只有目錄可以如此。
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
傳回
-
Promise<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
傳回
-
Promise<void>
Chrome 96 以上版本Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
)
使用指定的 fileSystemId
卸載檔案系統。必須在叫用 onUnmountRequested
後呼叫。此外,如果未要求,提供的擴充功能也可以決定是否要執行卸載 (例如連線遺失或檔案錯誤)。
如果發生錯誤,系統會設定 runtime.lastError
並提供對應的錯誤代碼。
參數
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<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
-
entries
-
hasMore
boolean
-
-
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
boolean
-
-
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