refresh date: 2026-09-25 robots: noindex
说明
使用 chrome.fileSystemProvider API 创建可通过 ChromeOS 上的文件管理器访问的文件系统。
权限
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”枚举) - 必需- 已装载文件系统的数据源。
“文件”应用会使用上述信息来适当地呈现相关界面元素。例如,如果 configurable 设为 true,系统会呈现用于配置卷的菜单项。同样,如果 multiple_mounts 设置为 true,则“文件”应用将允许从界面添加多个装载点。如果 watchable 为 false,则系统会呈现刷新按钮。请注意,如果可能,您应添加对观察器的支持,以便文件系统上的更改可以立即自动反映出来。
概览
借助 File System Provider API,扩展程序可以支持虚拟文件系统,这些文件系统可在 ChromeOS 的文件管理器中使用。用例包括解压缩归档文件以及访问云端硬盘以外的云服务中的文件。
装载文件系统
提供扩展程序可以提供来自外部来源(例如远程服务器或 USB 设备)的文件系统内容,也可以使用本地文件(例如归档文件)作为其输入。
为了写入作为文件处理程序的文件系统(来源为 "file"),提供程序必须是打包应用,因为 onLaunched 事件不适用于扩展程序。
如果来源是网络或设备,则应在调用 onMountRequested 事件时装载文件系统。
| 文件系统数据的来源 | 入口点 |
|---|---|
"file" |
仅适用于打包应用。 |
"device" 或 "network" |
onMountRequested |
配置文件系统
挂载后,可以通过 onConfigureRequested 事件配置提供的文件系统。这对于通过网络提供内容的文件系统特别有用,以便设置适当的凭据。处理此事件是可选操作。
生命周期
Chrome 会记住已装载的文件系统,并在重启后自动重新装载。因此,一旦文件系统被提供扩展程序装载,它将一直保留,直到扩展程序被卸载或扩展程序调用 unmount 方法。
类型
AbortRequestedOptions
属性
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
operationRequestId
数值
要中止的请求的 ID。
-
requestId
数值
此请求的唯一标识符。
Action
属性
-
id
字符串
操作的标识符。任何字符串或
CommonActionId(对于常见操作)。 -
title
字符串 可选
操作的标题。对于常见操作,系统可能会忽略此参数。
AddWatcherRequestedOptions
属性
-
entryPath
字符串
要观察的条目的路径。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
recursive
布尔值
观察是否应以递归方式包含所有子条目。只有目录可以设为 true。
-
requestId
数值
此请求的唯一标识符。
Change
属性
-
changeType
条目发生的更改类型。
-
cloudFileInfoChrome 125 及更高版本
与文件相关的信息(如果由云文件系统提供支持)。
-
entryPath
字符串
已更改条目的路径。
ChangeType
在观察到的目录中检测到的更改类型。
枚举
"CHANGED"
"DELETED"
CloseFileRequestedOptions
属性
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
openRequestId
数值
用于打开文件的请求 ID。
-
requestId
数值
此请求的唯一标识符。
CloudFileInfo
属性
-
versionTag
字符串 可选
表示文件版本的标记。
CloudIdentifier
属性
-
id
字符串
提供商为给定文件/目录提供的标识符。
-
providerName
字符串
云端存储空间服务提供商的标识符(例如“drive.google.com”)。
CommonActionId
常用操作列表。"SHARE" 用于与他人共享文件。"SAVE_FOR_OFFLINE"(保存以供离线访问)。"OFFLINE_NOT_NECESSARY",用于通知系统不再需要存储文件以供离线访问。由 onGetActionsRequested 和 onExecuteActionRequested 使用。
枚举
"SAVE_FOR_OFFLINE"
"OFFLINE_NOT_NECESSARY"
"SHARE"
ConfigureRequestedOptions
属性
-
fileSystemId
字符串
要配置的文件系统的标识符。
-
requestId
数值
此请求的唯一标识符。
CopyEntryRequestedOptions
属性
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
requestId
数值
此请求的唯一标识符。
-
sourcePath
字符串
要复制的条目的来源路径。
-
targetPath
字符串
复制操作的目标路径。
CreateDirectoryRequestedOptions
属性
-
directoryPath
字符串
要创建的目录对应的路径。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
recursive
布尔值
操作是否为递归操作(仅适用于目录)。
-
requestId
数值
此请求的唯一标识符。
CreateFileRequestedOptions
属性
-
filePath
字符串
要创建的文件对应的路径。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
requestId
数值
此请求的唯一标识符。
DeleteEntryRequestedOptions
属性
-
entryPath
字符串
要删除的条目的路径。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
recursive
布尔值
操作是否为递归操作(仅适用于目录)。
-
requestId
数值
此请求的唯一标识符。
EntryMetadata
属性
-
cloudFileInfoChrome 125 及更高版本
用于标识底层云文件系统中特定文件的信息。如果
options中有请求,并且文件由云端存储空间提供支持,则必须提供此字段。 -
cloudIdentifierChrome 117 及更高版本
此条目的 Cloud Storage 表示。如果
options中有请求,并且文件由云端存储空间提供支持,则必须提供此字段。对于没有云端存储空间支持的本地文件,在请求时应为未定义。 -
IsDirectory
布尔值 (可选)
如果为目录,则为 true。如果
options中有要求,则必须提供。 -
mimeType
字符串 可选
条目的 MIME 类型。始终可选,但如果
options中有要求,则应提供。 -
modificationTime
日期(可选)
此条目的上次修改时间。如果
options中有要求,则必须提供。 -
name
字符串 可选
此条目的名称(非完整路径名称)。不得包含“/”。对于根,此字段必须为空。如果
options中有要求,则必须提供。 -
大小
number 可选
文件大小(以字节为单位)。如果
options中有要求,则必须提供。 -
缩略图
字符串 可选
缩略图,采用 PNG、JPEG 或 WEBP 格式的数据 URI,大小不超过 32 KB。可选,但只有在
onGetMetadataRequested事件明确请求时才能提供。
ExecuteActionRequestedOptions
属性
-
actionId
字符串
要执行的操作的标识符。
-
entryPaths
字符串[]
Chrome 47 及更高版本要用于操作的条目的路径集。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
requestId
数值
此请求的唯一标识符。
FileSystemInfo
属性
-
displayName
字符串
文件系统的人类可读名称。
-
fileSystemId
字符串
文件系统的标识符。
-
openedFiles
当前打开的文件列表。
-
openedFilesLimit
数值
可以同时打开的文件数上限。如果为 0,则表示不受限制。
-
supportsNotifyTag
布尔值 (可选)
Chrome 45 及更高版本文件系统是否支持用于观察目录的
tag字段。 -
watchers
Watcher[]
Chrome 45 及更高版本观察者列表。
-
可写入
布尔值
文件系统是否支持可能会更改文件系统内容的操作(例如创建、删除或写入文件)。
GetActionsRequestedOptions
属性
-
entryPaths
字符串[]
Chrome 47 及更高版本操作列表的条目路径列表。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
requestId
数值
此请求的唯一标识符。
GetMetadataRequestedOptions
属性
-
cloudFileInfo
布尔值
Chrome 125 及更高版本如果请求
cloudFileInfo值,则设置为true。 -
cloudIdentifier
布尔值
Chrome 117 及更高版本如果请求
cloudIdentifier值,则设置为true。 -
entryPath
字符串
要提取其元数据的条目的路径。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
IsDirectory
布尔值
Chrome 49 及更高版本如果请求
is_directory值,则设置为true。 -
mimeType
布尔值
Chrome 49 及更高版本如果请求
mimeType值,则设置为true。 -
modificationTime
布尔值
Chrome 49 及更高版本如果请求
modificationTime值,则设置为true。 -
name
布尔值
Chrome 49 及更高版本如果请求
name值,则设置为true。 -
requestId
数值
此请求的唯一标识符。
-
大小
布尔值
Chrome 49 及更高版本如果请求
size值,则设置为true。 -
缩略图
布尔值
如果请求
thumbnail值,则设置为true。
MountOptions
属性
-
displayName
字符串
文件系统的人类可读名称。
-
fileSystemId
字符串
文件系统的字符串标识符。每个扩展程序都必须具有唯一的 ID。
-
openedFilesLimit
number 可选
可以同时打开的文件数上限。如果未指定或为 0,则表示不受限制。
-
持久性
布尔值 (可选)
Chrome 64 及更高版本框架是否应在下次登录会话时恢复文件系统。默认情况下为 true。
-
supportsNotifyTag
布尔值 (可选)
Chrome 45 及更高版本文件系统是否支持所观察目录的
tag字段。 -
可写入
布尔值 (可选)
文件系统是否支持可能会更改文件系统内容的操作(例如创建、删除或写入文件)。
MoveEntryRequestedOptions
属性
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
requestId
数值
此请求的唯一标识符。
-
sourcePath
字符串
要移至新位置的条目的来源路径。
-
targetPath
字符串
复制操作的目标路径。
NotifyOptions
属性
-
changeType
所观察条目发生的更改类型。如果为 DELETED,则系统会自动从观察到的条目列表中移除观察到的条目。
-
更改
Change[] 可选
所观察目录(包括该目录本身)中条目的更改列表
-
fileSystemId
字符串
与此更改相关的文件系统的标识符。
-
observedPath
字符串
所观察条目的路径。
-
recursive
布尔值
所观察条目的模式。
-
标记
字符串 可选
通知的标记。如果文件系统是使用
supportsNotifyTag选项装载的,则此字段为必填字段。请注意,此标志是必需的,以便在系统关闭时也能提供有关更改的通知。
OpenedFile
属性
-
filePath
字符串
所打开文件的路径。
-
模式
文件是打开以供读取还是写入。
-
openRequestId
数值
连续读/写和关闭请求要使用的请求 ID。
OpenFileMode
打开文件的模式。由 onOpenFileRequested 使用。
枚举
"READ"
"WRITE"
OpenFileRequestedOptions
属性
-
filePath
字符串
要打开的文件对应的路径。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
模式
文件是用于读取还是写入。
-
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
字符串
与此操作相关的文件系统的标识符。
-
IsDirectory
布尔值
Chrome 49 及更高版本如果请求
is_directory值,则设置为true。 -
mimeType
布尔值
Chrome 49 及更高版本如果请求
mimeType值,则设置为true。 -
modificationTime
布尔值
Chrome 49 及更高版本如果请求
modificationTime值,则设置为true。 -
name
布尔值
Chrome 49 及更高版本如果请求
name值,则设置为true。 -
requestId
数值
此请求的唯一标识符。
-
大小
布尔值
Chrome 49 及更高版本如果请求
size值,则设置为true。 -
缩略图
布尔值
Chrome 49 及更高版本如果请求
thumbnail值,则设置为true。
ReadFileRequestedOptions
属性
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
长度
数值
要返回的字节数。
-
offset
数值
文件中开始读取的位置(以字节为单位)。
-
openRequestId
数值
用于打开文件的请求 ID。
-
requestId
数值
此请求的唯一标识符。
RemoveWatcherRequestedOptions
属性
-
entryPath
字符串
所监控条目的路径。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
recursive
布尔值
观察器的模式。
-
requestId
数值
此请求的唯一标识符。
TruncateRequestedOptions
属性
-
filePath
字符串
要截断的文件对应的路径。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
长度
数值
操作完成后要保留的字节数。
-
requestId
数值
此请求的唯一标识符。
UnmountOptions
属性
-
fileSystemId
字符串
要卸载的文件系统的标识符。
UnmountRequestedOptions
属性
-
fileSystemId
字符串
要卸载的文件系统的标识符。
-
requestId
数值
此请求的唯一标识符。
Watcher
属性
-
entryPath
字符串
所观察条目的路径。
-
lastTag
字符串 可选
观察器的最后一条通知使用的标记。
-
recursive
布尔值
监视是否应以递归方式包含所有子条目。只有目录可以设为 true。
WriteFileRequestedOptions
属性
-
数据
ArrayBuffer
要写入文件的字节缓冲区。
-
fileSystemId
字符串
与此操作相关的文件系统的标识符。
-
offset
数值
文件中开始写入字节的位置(以字节为单位)。
-
openRequestId
数值
用于打开文件的请求 ID。
-
requestId
数值
此请求的唯一标识符。
方法
get()
chrome.fileSystemProvider.get(
fileSystemId: string,
callback?: function,
): Promise<FileSystemInfo>
返回具有传递的 fileSystemId 的文件系统的相关信息。
参数
-
fileSystemId
字符串
-
callback
函数可选
callback参数如下所示:(fileSystem: FileSystemInfo) => void
-
fileSystem
-
返回
-
Promise<FileSystemInfo>
Chrome 96 及更高版本用于接收
get函数结果的回调。只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
getAll()
chrome.fileSystemProvider.getAll(
callback?: function,
): Promise<FileSystemInfo[]>
返回由扩展程序装载的所有文件系统。
参数
-
callback
函数可选
callback参数如下所示:(fileSystems: FileSystemInfo[]) => void
-
fileSystems
-
返回
-
Promise<FileSystemInfo[]>
Chrome 96 及更高版本用于接收
getAll函数结果的回调。只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
mount()
chrome.fileSystemProvider.mount(
options: MountOptions,
callback?: function,
): Promise<void>
使用给定的 fileSystemId 和 displayName 装载文件系统。displayName 将显示在“文件”应用的左侧面板中。displayName 可以包含任何字符(包括“/”),但不能是空字符串。displayName 必须具有描述性,但不一定要唯一。fileSystemId 不得为空字符串。
根据要装载的文件系统的类型,必须正确设置 source 选项。
如果发生错误,系统会为 runtime.lastError 设置相应的错误代码。
参数
-
选项
-
callback
函数可选
callback参数如下所示:() => void
返回
-
承诺<void>
Chrome 96 及更高版本用于指示成功或失败的通用结果回调。
只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
notify()
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
返回
-
承诺<void>
Chrome 96 及更高版本用于指示成功或失败的通用结果回调。
只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
): Promise<void>
卸载具有给定 fileSystemId 的文件系统。必须在调用 onUnmountRequested 后调用。此外,提供扩展程序也可以决定在未收到请求的情况下执行卸载(例如,在连接中断或文件出错时)。
如果发生错误,系统会为 runtime.lastError 设置相应的错误代码。
参数
-
callback
函数可选
callback参数如下所示:() => void
返回
-
承诺<void>
Chrome 96 及更高版本用于指示成功或失败的通用结果回调。
只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
事件
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
在请求使用 operationRequestId 中止操作时引发。必须立即停止使用 operationRequestId 执行的操作,并执行此中止请求的 successCallback。如果中止失败,则必须调用 errorCallback。请注意,不得调用已中止操作的回调,因为它们会被忽略。尽管调用了 errorCallback,请求仍可能会被强制中止。
参数
-
callback
函数
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
函数
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
函数
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
函数
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
函数
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
函数
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
函数
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
函数
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
函数
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
函数
callback参数如下所示:(options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函数
successCallback参数如下所示:(actions: Action[]) => void
-
操作
Action[]
-
-
errorCallback
函数
errorCallback参数如下所示:(error: ProviderError) => void
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
在请求 entryPath 处的文件或目录的元数据时引发。元数据必须通过 successCallback 调用返回。如果发生错误,则必须调用 errorCallback。
参数
-
callback
函数
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
函数
callback参数如下所示:(successCallback: function, errorCallback: function) => void
-
successCallback
函数
successCallback参数如下所示:() => void
-
errorCallback
函数
errorCallback参数如下所示:(error: ProviderError) => void
-
onMoveEntryRequested
chrome.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
在请求移动条目(如果是目录,则以递归方式移动)时引发。如果发生错误,则必须调用 errorCallback。
参数
-
callback
函数
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
函数
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
函数
callback参数如下所示:(options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函数
successCallback参数如下所示:(entries: EntryMetadata[], hasMore: boolean) => void
-
entries
-
hasMore
布尔值
-
-
errorCallback
函数
errorCallback参数如下所示:(error: ProviderError) => void
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.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
在应移除观察器时引发。如果发生错误,则必须调用 errorCallback。
参数
-
callback
函数
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
函数
callback参数如下所示:(options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函数
successCallback参数如下所示:() => void
-
errorCallback
函数
errorCallback参数如下所示:(error: ProviderError) => void
onUnmountRequested
chrome.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
在请求卸载具有 fileSystemId 标识符的文件系统时引发。在响应中,必须将 unmount API 方法与 successCallback 一起调用。如果无法卸载(例如,由于有待处理的操作),则必须调用 errorCallback。
参数
-
callback
函数
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
函数
callback参数如下所示:(options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
successCallback
函数
successCallback参数如下所示:() => void
-
errorCallback
函数
errorCallback参数如下所示:(error: ProviderError) => void