chrome.fileSystemProvider

说明

您可以使用 chrome.fileSystemProvider API 创建可通过 Chrome 操作系统的文件管理器访问的文件系统。

权限

fileSystemProvider

可用性

<ph type="x-smartling-placeholder"></ph> 仅限 ChromeOS

您必须声明“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,则“文件”应用将允许从界面添加多个装载点。如果 watchablefalse,则将呈现刷新按钮。请注意,如果可能,您应添加对 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

Chrome 45 及更高版本

属性

  • id

    字符串

    操作的标识符。任何字符串或 CommonActionId(常用操作)。

  • 标题

    字符串(可选)

    操作的标题。对于常见操作,可以忽略它。

AddWatcherRequestedOptions

属性

  • entryPath

    字符串

    要观察的条目的路径。

  • fileSystemId

    字符串

    与此操作相关的文件系统的标识符。

  • recursive

    布尔值

    观察是否应以递归方式包含所有子条目。只有在目录下才可能为 true。

  • requestId

    number

    此请求的唯一标识符。

Change

属性

  • changeType

    条目所发生的更改的类型。

  • cloudFileInfo
    Chrome 125 及更高版本

    与文件相关的信息(如果受云端文件系统支持)。

  • entryPath

    字符串

    发生更改的条目的路径。

ChangeType

在观察到的目录上检测到的更改的类型。

枚举

“已更改”

“已删除”

CloseFileRequestedOptions

属性

  • fileSystemId

    字符串

    与此操作相关的文件系统的标识符。

  • openRequestId

    number

    用于打开文件的请求 ID。

  • requestId

    number

    此请求的唯一标识符。

CloudFileInfo

Chrome 125 及更高版本

属性

  • versionTag

    字符串(可选)

    表示文件版本的标记。

CloudIdentifier

Chrome 117 及更高版本

属性

  • id

    字符串

    给定文件/目录的提供程序标识符。

  • providerName

    字符串

    云端存储空间提供商的标识符(例如“drive.google.com”)。

CommonActionId

Chrome 45 及更高版本

常见操作列表。“"SHARE"”用于与他人共享文件。"SAVE_FOR_OFFLINE",用于固定(保存以供离线访问)。"OFFLINE_NOT_NECESSARY",用于通知不再需要存储文件以供离线访问。由 onGetActionsRequestedonExecuteActionRequested 使用。

枚举

“SAVE_FOR_OFFLINE”

&quot;OFFLINE_NOT_NECESSARY&quot;

“分享”

ConfigureRequestedOptions

Chrome 44 及更高版本

属性

  • 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

属性

  • cloudFileInfo
    Chrome 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

Chrome 45 及更高版本

属性

  • actionId

    字符串

    要执行的操作的标识符。

  • entryPaths

    字符串[]

    Chrome 47 及更高版本

    要用于操作的条目的路径集。

  • fileSystemId

    字符串

    与此操作相关的文件系统的标识符。

  • requestId

    number

    此请求的唯一标识符。

FileSystemInfo

属性

  • displayName

    字符串

    人类可读的文件系统名称。

  • fileSystemId

    字符串

    文件系统的标识符。

  • openedFiles

    当前打开的文件的列表。

  • openedFilesLimit

    number

    一次可打开的文件数量上限。如果为 0,则不受限制。

  • supportsNotifyTag

    布尔值(可选)

    Chrome 45 及更高版本

    文件系统是否支持用于观察目录的 tag 字段。

  • 观察者
    Chrome 45 及更高版本

    观察者列表。

  • 可写入

    布尔值

    文件系统是否支持可能会更改文件系统内容的操作(例如创建、删除或写入文件)。

GetActionsRequestedOptions

Chrome 45 及更高版本

属性

  • 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()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.fileSystemProvider.get(
  fileSystemId: string,
  callback?: function,
)

返回具有传递的 fileSystemId 的文件系统的相关信息。

参数

  • fileSystemId

    字符串

  • callback

    函数(可选)

    callback 参数如下所示:

    (fileSystem: FileSystemInfo) => void

返回

  • Promise&lt;FileSystemInfo&gt;

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

getAll()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.fileSystemProvider.getAll(
  callback?: function,
)

返回由该扩展程序装载的所有文件系统。

参数

返回

  • Promise&lt;FileSystemInfo[]&gt;

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

mount()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.fileSystemProvider.mount(
  options: MountOptions,
  callback?: function,
)

使用指定的 fileSystemIddisplayName 装载文件系统。displayName 将显示在“文件”应用的左侧面板中。“displayName”可以包含任何字符(包括“/”),但不得为空字符串。displayName 必须是描述性的,但不必是唯一的。fileSystemId 不得为空字符串。

根据装载的文件系统的类型,必须正确设置 source 选项。

如果发生错误,系统将为 runtime.lastError 设置相应的错误代码。

参数

  • 选项
  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

notify()

<ph type="x-smartling-placeholder"></ph> 承诺 Chrome 45 及更高版本
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,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

unmount()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.fileSystemProvider.unmount(
  options: UnmountOptions,
  callback?: function,
)

使用给定的 fileSystemId 卸载文件系统。它必须在调用 onUnmountRequested 之后调用。此外,提供应用的扩展程序可以在未请求的情况下(例如,连接丢失或文件错误时)决定执行卸载操作。

如果发生错误,系统将为 runtime.lastError 设置相应的错误代码。

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 96 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 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

      • 数据

        数组缓冲区

      • hasMore

        布尔值

    • errorCallback

      函数

      errorCallback 参数如下所示:

      (error: ProviderError) => void

onRemoveWatcherRequested

Chrome 45 及更高版本
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
  callback: function,
)

在应移除 Watcher 时引发。如果发生错误,必须调用 errorCallback

参数

onTruncateRequested

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

在请求将文件截断至所需长度时引发。如果发生错误,必须调用 errorCallback

参数

onUnmountRequested

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

请求使用 fileSystemId 标识符卸载文件系统时引发。在响应中,unmount API 方法必须与 successCallback 一起调用。如果无法卸载(例如,由于有待处理的操作),则必须调用 errorCallback

参数

  • callback

    函数

    callback 参数如下所示:

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

onWriteFileRequested

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

在请求向之前使用 openRequestId 打开的文件写入内容时引发。

参数