共享文件管理
共享文件管理包含上传文件和缓存文件两个部分。
上传文件
当用户需要创建文件白板时,用户需要先将文件上传至 ZEGO 文件云服务,获得该文件的 fileID
(将被永久保存并适用于所有房间)。
这个 fileID
将会在创建文件白板时使用,详情请参考 创建超级白板 - 创建白板。
说明
建议您将文件的名称和 fileID
一一对应,以便快速访问。
ZEGO 超级白板支持客户端 API 和服务端 API 两种方式上传文件。
客户端 API
对于 ZEGO 超级白板 SDK 而言,文件可分为普通文件和 H5 文件。因此,当上传不同类型的文件时,需要调用不同的上传接口。
普通文件包含:
- PPT 演示文稿文件
- 文档类文件(Word/PDF)
- 表格类文件(Excel)
- 图片类文件(JPG/JPEG/PNG/BMP)
- 文本类文件(TXT)
注意
上传的文件必须满足相应的规范:
- 文件请使用 Microsoft Office 2013 或以上版本编辑/保存,不支持低版本 Microsoft Office 或其他办公软件保存的文件,如 WPS、Keynote、Microsoft Office 2003 等。
- 文件必须是可编辑的,不支持“只读”、“加密”、或其他受保护的文档,否则会导致转码失败。 全部规范请参考 文件规范。
上传普通文件
上传 H5 文件
调用客户端 API 接口上文件的过程包含:上传中、排队中、转换中、和转换成功等多个阶段。具体上传状态请查看 ZegoSuperBoardUploadFileState
- 上传阶段:如果正常上传,会产生多次回调,每次都包含文件上传进度。例如当前上传 50%,则 "upload_percent" 显示为 0.50 ;当前上传 100%,则 "upload_percent" 显示为 1。
- 格式转换阶段:如果转换成功,只产生一次回调,包含转换后的文件 ID。例如当前转换完成,则回调返回的内容为
{"fileID":"ekxxxxxxxxv"}
。
服务端 API
服务端 API 仅支持上传普通文件,详情请参考服务端接口文档 请求文件转码。
缓存文件
当用户上传文件并获取文件的 fileID 之后,如需提高文件加载速度,可以在调用 ZegoSuperBoardManager 的 createFileView 接口创建文件白板之前,提前缓存该文件。
调用 cacheFile 方法提前请求该文件中的资源。
Untitled
var zegoSuperBoard = ZegoSuperBoardManager.getInstance();
// 注册回调
zegoSuperBoard.on(
"cacheFile",
(
state,
errorCode,
seq,
percent,
fileID
) => {
console.log(
"superboard cacheFile callback",
"state:",
state,
"errorCode:",
errorCode,
"seq:",
seq,
"percent:",
percent,
"fileID:",
fileID
);
}
);
zegoSuperBoard.cacheFile(fileID)
1