@ohos.file.cloudSync (端云同步能力)

该模块向应用提供端云同步能力,包括启动/停止端云同步以及启动/停止原图下载功能。

说明:

本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import cloudSync from '@ohos.file.cloudSync';

State11+

云文件下载状态,为枚举类型。

系统能力: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

名称 说明
RUNNING 0 云文件正在下载中
COMPLETED 1 云文件下载完成
FAILED 2 云文件下载失败
STOPPED 3 云文件下载已停止

DownloadProgress11+

云文件下载过程。

系统能力: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

名称 类型 必填 说明
state State 枚举值,云文件下载状态
processed number 已下载数据大小
size number 当前云文件大小
uri string 当前云文件uri
error DownloadErrorType 下载的错误类型

CloudFileCache11+

云盘文件缓存对象,用来支撑文件管理应用原文件下载流程。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

construct11+

constructor()

云盘文件缓存流程的构造函数,用于获取CloudFileCache类的实例。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

错误码:

错误码ID 错误信息
401 The input parameter is invalid.

示例:

let fileCache = new cloudSync.CloudFileCache();

on11+

on(event: 'progress', callback: Callback<DownloadProgress>): void

添加云盘文件缓存过程事件监听。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

参数:

参数名 类型 必填 说明
event string 订阅的事件类型,取值为'progress'(下载过程事件)
callback Callback<DownloadProgress> 云文件下载过程事件回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
401 The input parameter is invalid.
13600001 IPC error.

示例:

let fileCache = new cloudSync.CloudFileCache();
let callback = (pg: cloudSync.DownloadProgress) => {
  console.info("download state:" + pg.state);
};

fileCache.on('progress', callback);

off11+

off(event: 'progress', callback?: Callback<DownloadProgress>): void

移除云盘文件缓存过程事件监听。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

参数:

参数名 类型 必填 说明
event string 取消订阅的事件类型,取值为'progress'(同步过程事件)
callback Callback<DownloadProgress> 云文件下载过程事件回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
13900025 No space left on device.
14000002 Invalid uri.

示例:

let fileCache = new cloudSync.CloudFileCache();

let callback = (pg: cloudSync.DownloadProgress) => {
  console.info("download state:" + pg.state);
}

fileCache.on('progress', callback);

fileCache.off('progress', callback);

start11+

start(uri: string): Promise<void>

异步方法启动云盘文件缓存, 以Promise形式返回结果。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

参数:

参数名 类型 必填 说明
uri string 待下载文件uri。

返回值:

类型 说明
Promise<void> 使用Promise形式返回启动云文件下载的结果。

示例:

import { BusinessError } from '@ohos.base';
import fileUri from '@ohos.file.fileuri';
let fileCache = new cloudSync.CloudFileCache();
let path = "/data/storage/el2/cloud/1.txt";
let uri = fileUri.getUriFromPath(path);

fileCache.on('progress', (pg: cloudSync.DownloadProgress) => {
  console.info("download state:" + pg.state);
});

fileCache.start(uri).then(() => {
  console.info("start download successfully");
}).catch((err: BusinessError) => {
  console.info("start download failed with error message: " + err.message + ", error code: " + err.code);
});

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
13900025 No space left on device.
14000002 Invalid uri.

start11+

start(uri: string, callback: AsyncCallback<void>): void

异步方法启动云盘文件缓存, 以callback形式返回结果。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

参数:

参数名 类型 必填 说明
uri string 待下载文件uri。
callback AsyncCallback<void> 异步启动云文件下载的回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
13900025 No space left on device.
14000002 Invalid uri.

示例:

import { BusinessError } from '@ohos.base';
import fileUri from '@ohos.file.fileuri';
let fileCache = new cloudSync.CloudFileCache();
let path = "/data/storage/el2/cloud/1.txt";
let uri = fileUri.getUriFromPath(path);

fileCache.start(uri, (err: BusinessError) => {
  if (err) {
    console.info("start download failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("start download successfully");
  }
});

stop11+

stop(uri: string): Promise<void>

异步方法停止云盘文件缓存, 以Promise形式返回结果。

调用stop接口, 当前文件下载流程会终止, 缓存文件会被删除, 再次调用start接口会重新开始下载。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

参数:

参数名 类型 必填 说明
uri string 待下载文件uri。

返回值:

类型 说明
Promise<void> 使用Promise形式返回停止云文件下载的结果。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
14000002 Invalid uri.

示例:

import { BusinessError } from '@ohos.base';
import fileUri from '@ohos.file.fileuri';
let fileCache = new cloudSync.CloudFileCache();
let path = "/data/storage/el2/cloud/1.txt";
let uri = fileUri.getUriFromPath(path);

fileCache.stop(uri).then(() => {
  console.info("stop download successfully");
}).catch((err: BusinessError) => {
  console.info("stop download failed with error message: " + err.message + ", error code: " + err.code);
});

stop11+

stop(uri: string, callback: AsyncCallback<void>): void

异步方法停止云盘文件缓存, 以callback形式返回结果。

调用stop接口, 当前文件下载流程会终止, 缓存文件会被删除, 再次调用start接口会重新开始下载。

系统能力:SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

参数:

参数名 类型 必填 说明
uri string 待下载文件uri。
callback AsyncCallback<void> 异步停止云文件下载的回调。

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
14000002 Invalid uri.

示例:

import { BusinessError } from '@ohos.base';
import fileUri from '@ohos.file.fileuri';
let fileCache = new cloudSync.CloudFileCache();
let path = "/data/storage/el2/cloud/1.txt";
let uri = fileUri.getUriFromPath(path);

fileCache.stop(uri, (err: BusinessError) => {
  if (err) {
    console.info("stop download failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("stop download successfully");
  }
});

DownloadErrorType11+

端云下载错误类型,为枚举类型。

系统能力: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

名称 说明
NO_ERROR 0 没有错误
UNKNOWN_ERROR 1 未知错误
NETWORK_UNAVAILABLE 2 网络不可用
LOCAL_STORAGE_FULL 3 本地空间不足
CONTENT_NOT_FOUND 4 云端空间未找到对应文件
FREQUENT_USER_REQUESTS 5 用户请求过于频繁