简介
本文档提供关于文件下载的 API 概览以及 SDK 示例代码。
SDK API 参考
下载
功能说明
该下载方法内部会自动进行下载到本地、暂停、续传、取消的逻辑。
开始下载
late SMHDownloadTask task;task = await SMHApiTransferApis.download(libraryId: 'libraryId',// 空间 IDspaceId: 'spaceId',// 用户 IDuserId: 'userId',// 远端文件路径filePath: 'filePath',// 本地路径localPath: 'localPath',userToken: 'userToken',// 进度回调onReceiveProgress: (count, total) {// count 已上传的字节数// total 总的字节数},// 完成回调finishCalBack: (result, error) {},);task.stateStream.stream.listen((event) {任务状态监听// SMHTaskState.waiting, 等待中// SMHTaskState.processing, 进行中// SMHTaskState.error, 任务错误// SMHTaskState.pause, 任务暂停// SMHTaskState.success, 成功// SMHTaskState.canceled, 取消});
暂停
task.pause()
继续(应用不进行重新启动)
task.resume()
取消
task.cancel()
说明:
若要实现 App 被 kill 之后再次打开继续下载,则需要业务端将本次下载任务对应的 libraryId、spaceId、localPath、filePath、userToken、userId 进行持久化,再次进入 App 时重新调用 SMHApiTransferApis.download 进行下载。
SDK 内部根据提供的本地下载路径找上一次下载的临时文件进行继续下载。