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