@ohos.file.cloudSync (Device-Cloud Synchronization)

The cloudSync module provides the device-cloud synchronization capabilities for applications. You can use the APIs to start or stop device-cloud synchronization and start or stop the download of images.

NOTE

The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

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

State11+

Enumerates the download states of a cloud file.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Name Value Description
RUNNING 0 The cloud file is being downloaded.
COMPLETED 1 The cloud file download is complete.
FAILED 2 The cloud file download failed.
STOPPED 3 The cloud file download is stopped.

DownloadProgress11+

Represents information about the download progress of a cloud file.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Name Type Mandatory Description
state State Yes File download state.
processed number Yes Size of the data downloaded.
size number Yes Size of the cloud file.
uri string Yes URI of the cloud file.
error DownloadErrorType Yes Download error type.

CloudFileCache11+

Provides APIs for the file manager application to download files from the Drive Kit to a local device.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

construct11+

constructor()

A constructor used to create a CloudFileCache instance.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Error codes

ID Error Message
401 The input parameter is invalid.

Example

let fileCache = new cloudSync.CloudFileCache();

on11+

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

Registers a listener for the download progress of a file from the Drive Kit.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

Name Type Mandatory Description
event string Yes Event type. The value is progress, which indicates the download progress event of a file from the Drive Kit.
callback Callback<DownloadProgress> Yes Callback invoked to return the download progress information.

Error codes

For details about the error codes, see File Management Error Codes.

ID Error Message
401 The input parameter is invalid.
13600001 IPC error.

Example

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

Unregisters a listener for the download progress of a file from the Drive Kit.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

Name Type Mandatory Description
event string Yes Event type. The value is progress, which indicates the download progress event of a file from the Drive Kit.
callback Callback<DownloadProgress> No Callback for the download progress event of a file from the Drive Kit.

Error codes

For details about the error codes, see File Management Error Codes.

ID Error Message
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
13900025 No space left on device.
14000002 Invalid uri.

Example

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>

Starts to download a file from the Drive Kit to the local device. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

Name Type Mandatory Description
uri string Yes URI of the file to download.

Return value

Type Description
Promise<void> Promise used to return the result.

Example

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);
});

Error codes

For details about the error codes, see File Management Error Codes.

ID Error Message
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

Starts to download a file from the Drive Kit to the local device. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

Name Type Mandatory Description
uri string Yes URI of the file to download.
callback AsyncCallback<void> Yes Callback invoked to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

ID Error Message
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
13900025 No space left on device.
14000002 Invalid uri.

Example

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>

Stops downloading a file from the Drive Kit to the local device. This API uses a promise to return the result.

Calling stop will terminate the download of the current file and clear the cache file. You can use start to start the download again.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

Name Type Mandatory Description
uri string Yes URI of the file to download.

Return value

Type Description
Promise<void> Promise used to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

ID Error Message
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
14000002 Invalid uri.

Example

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

Stops downloading a file from the Drive Kit to the local device. This API uses an asynchronous callback to return the result.

Calling stop will terminate the download of the current file and clear the cache file. You can use start to start the download again.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Parameters

Name Type Mandatory Description
uri string Yes URI of the file to download.
callback AsyncCallback<void> Yes Callback invoked to return the result.

Error codes

For details about the error codes, see File Management Error Codes.

ID Error Message
401 The input parameter is invalid.
13600001 IPC error.
13900002 No such file or directory.
14000002 Invalid uri.

Example

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+

Enumerates the device-cloud download error types.

System capability: SystemCapability.FileManagement.DistributedFileService.CloudSync.Core

Name Value Description
NO_ERROR 0 No error.
UNKNOWN_ERROR 1 Unknown error.
NETWORK_UNAVAILABLE 2 The network is unavailable.
LOCAL_STORAGE_FULL 3 The local space is insufficient.
CONTENT_NOT_FOUND 4 The file is not found in the cloud space.
FREQUENT_USER_REQUESTS 5 The user requests are too frequent to respond.