@ohos.filemanagement.userFileManager (User Data Management)
The userFileManager module provides user data management capabilities, including accessing and modifying user media data (audio and video clips, images, and files).
NOTE
The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. The APIs provided by this module are system APIs.
Modules to Import
import userFileManager from '@ohos.filemanagement.userFileManager';
userFileManager.getUserFileMgr
getUserFileMgr(context: Context): UserFileManager
Obtains a UserFileManager instance. This instance can be used to access and modify user media data (such as audio and video clips, images, and files).
Model restriction: This API can be used only in the stage model.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
context | Context | Yes | Context of the ability instance. |
Return value
Type | Description |
---|---|
UserFileManager | UserFileManager instance obtained. |
Example
// The userFileManager instance obtained is a global object. It is used by default in subsequent operations. If the code snippet is not added, an error will be reported indicating that mgr is not defined.
const context = getContext(this);
let mgr = userFileManager.getUserFileMgr(context);
UserFileManager
getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
Obtains image and video assets. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.READ_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | FetchOptions | Yes | Options for fetching the image and video assets. |
callback | AsyncCallback<FetchResult<FileAsset>> | Yes | Callback invoked to return the image and video assets obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPhotoAssets');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
mgr.getPhotoAssets(fetchOptions, async (err, fetchResult) => {
if (fetchResult != undefined) {
console.info('fetchResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info("fileAsset.displayName : " + fileAsset.displayName);
}
} else {
console.error('fetchResult fail' + err);
}
});
}
getPhotoAssets
getPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
Obtains image and video assets. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.READ_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | FetchOptions | Yes | Options for fetching the image and video assets. |
Return value
Type | Description |
---|---|
Promise<FetchResult<FileAsset>> | Promise used to return the image and video assets obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPhotoAssets');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
let fetchResult = await mgr.getPhotoAssets(fetchOptions);
if (fetchResult != undefined) {
console.info('fetchResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info("fileAsset.displayName :" + fileAsset.displayName);
}
}
} catch (err) {
console.error('getPhotoAssets failed, message = ', err);
}
}
createPhotoAsset
createPhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback<FileAsset>): void;
Creates an image or video asset. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.WRITE_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
displayName | string | Yes | File name of the image or video to create. |
albumUri | string | Yes | URI of the album where the image or video is located. |
callback | AsyncCallback<FileAsset> | Yes | Callback invoked to return the image or video created. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('createPhotoAssetDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
predicates: predicates
};
let albums = await mgr.getPhotoAlbums(fetchOptions);
let album = await albums.getFirstObject();
let testFileName = "testFile" + Date.now() + ".jpg";
mgr.createPhotoAsset(testFileName, album.albumUri, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
} else {
console.error('createPhotoAsset failed, message = ', err);
}
});
}
createPhotoAsset
createPhotoAsset(displayName: string, callback: AsyncCallback<FileAsset>): void;
Creates an image or video asset. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.WRITE_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
displayName | string | Yes | File name of the image or video to create. |
callback | AsyncCallback<FileAsset> | Yes | Callback invoked to return the image or video created. |
Example
async function example() {
console.info('createPhotoAssetDemo');
let testFileName = "testFile" + Date.now() + ".jpg";
mgr.createPhotoAsset(testFileName, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
} else {
console.error('createPhotoAsset failed, message = ', err);
}
});
}
createPhotoAsset
createPhotoAsset(displayName: string, albumUri?: string): Promise<FileAsset>;
Creates an image or video asset. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.WRITE_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
displayName | string | Yes | File name of the image or video to create. |
albumUri | string | No | URI of the album where the image or video is located. |
Return value
Type | Description |
---|---|
Promise<FileAsset> | Promise used to return the image or video created. |
Example
async function example() {
console.info('createPhotoAssetDemo');
try {
let testFileName = "testFile" + Date.now() + ".jpg";
let fileAsset = await mgr.createPhotoAsset(testFileName);
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
} catch (err) {
console.error('createPhotoAsset failed, message = ', err);
}
}
getPhotoAlbums
getPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback<FetchResult<Album>>): void;
Obtains image and video albums. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.READ_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | AlbumFetchOptions | Yes | Options for fetching the albums. |
callback | AsyncCallback<FetchResult<Album>> | Yes | Callback invoked to return the albums obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPhotoAlbumsDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
mgr.getPhotoAlbums(albumFetchOptions, (err, fetchResult) => {
if (fetchResult != undefined) {
console.info('albums.count = ' + fetchResult.getCount());
fetchResult.getFirstObject((err, album) => {
if (album != undefined) {
console.info('first album.albumName = ' + album.albumName);
} else {
console.error('album is undefined, err = ', err);
}
});
} else {
console.error('getPhotoAlbums fail, message = ', err);
}
});
}
getPhotoAlbums
getPhotoAlbums(options: AlbumFetchOptions): Promise<FetchResult<Album>>;
Obtains image and video albums. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.READ_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | AlbumFetchOptions | Yes | Options for fetching the albums. |
Return value
Type | Description |
---|---|
Promise<FetchResult<Album>> | Promise used to return the albums obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPhotoAlbumsDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
try {
let fetchResult = await mgr.getPhotoAlbums(albumFetchOptions);
console.info('album.count = ' + fetchResult.getCount());
const album = await fetchResult.getFirstObject();
console.info('first album.albumName = ' + album.albumName);
} catch (err) {
console.error('getPhotoAlbums fail, message = ' + err);
}
}
getPrivateAlbum
getPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback<FetchResult<PrivateAlbum>>): void;
Obtains the system album. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.READ_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | PrivateAlbumType | Yes | Type of the album to obtain. |
callback | AsyncCallback<FetchResult<PrivateAlbum>> | Yes | Callback invoked to return the album obtained. |
Example
async function example() {
console.info('getPrivateAlbumDemo');
mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH, async (err, fetchResult) => {
if (fetchResult != undefined) {
let trashAlbum = await fetchResult.getFirstObject();
console.info('first album.albumName = ' + trashAlbum.albumName);
} else {
console.error('getPrivateAlbum failed. message = ', err);
}
});
}
getPrivateAlbum
getPrivateAlbum(type: PrivateAlbumType): Promise<FetchResult<PrivateAlbum>>;
Obtains the system album. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.READ_IMAGEVIDEO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | PrivateAlbumType | Yes | Type of the album to obtain. |
Return value
Type | Description |
---|---|
Promise<FetchResult<PrivateAlbum>> | Promise used to return the album obtained. |
Example
async function example() {
console.info('getPrivateAlbumDemo');
try {
let fetchResult = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let trashAlbum = await fetchResult.getFirstObject();
console.info('first album.albumName = ' + trashAlbum.albumName);
} catch (err) {
console.error('getPrivateAlbum failed. message = ', err);
}
}
getAudioAssets
getAudioAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
Obtains audio assets. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.READ_AUDIO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | FetchOptions | Yes | Options for fetching the audio assets. |
callback | AsyncCallback<FetchResult<FileAsset>> | Yes | Callback invoked to return the audio assets obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getAudioAssets');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
mgr.getAudioAssets(fetchOptions, async (err, fetchResult) => {
if (fetchResult != undefined) {
console.info('fetchFileResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info("fileAsset.displayName :" + fileAsset.displayName);
}
} else {
console.error('fetchFileResult fail' + err);
}
});
}
getAudioAssets
getAudioAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
Obtains audio assets. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Required permissions: ohos.permission.READ_AUDIO
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | FetchOptions | Yes | Options for fetching the audio assets. |
Return value
Type | Description |
---|---|
Promise<FetchResult<FileAsset>> | Promise used to return the audio assets obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getAudioAssets');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
var fetchResult = await mgr.getAudioAssets(fetchOptions);
} catch (err) {
console.error('getAudioAssets failed, message = ', err);
}
if (fetchResult != undefined) {
console.info('fetchFileResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info("fileAsset.displayName :" + fileAsset.displayName);
}
}
}
delete
delete(uri: string, callback: AsyncCallback<void>): void;
Deletes a media file. This API uses an asynchronous callback to return the result. The deleted file is moved to the recycle bin.
Required permissions: ohos.permission.READ_IMAGEVIDEO, ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.READ_AUDIO, and ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
uri | string | Yes | URI of the media file to delete. |
callback | AsyncCallback<void> | Yes | Callback that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('deleteAssetDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
const fetchResult = await mgr.getPhotoAssets(fetchOptions);
var asset = await fetchResult.getFirstObject();
} catch (err) {
console.info('fetch failed, message =', err);
}
if (asset == undefined) {
console.error('asset not exist');
return;
}
mgr.delete(asset.uri, (err) => {
if (err == undefined) {
console.info("delete successfully");
} else {
console.error("delete failed with error: " + err);
}
});
}
delete
delete(uri: string): Promise<void>;
Deletes a media file. This API uses a promise to return the result. The deleted file is moved to the recycle bin.
Required permissions: ohos.permission.READ_IMAGEVIDEO, ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.READ_AUDIO, and ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
uri | string | Yes | URI of the media file to delete. |
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('deleteDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
const fetchResult = await mgr.getPhotoAssets(fetchOptions);
var asset = await fetchResult.getFirstObject();
} catch (err) {
console.info('fetch failed, message =', err);
}
if (asset == undefined) {
console.error('asset not exist');
return;
}
try {
await mgr.delete(asset.uri);
console.info("delete successfully");
} catch (err) {
console.error("delete failed with error: " + err);
}
}
on
on(type: ChangeEvent, callback: Callback<void>): void
Subscribes to changes of the file management library. This API uses a callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | ChangeEvent | Yes | Type of event to subscribe to. deviceChange indicates the device change. albumChange indicates the album change. imageChange indicates the image change. audioChange indicates the audio file change. videoChange indicates the video file change. remoteFileChange indicates the file change on the registered device. |
callback | Callback<void> | Yes | Callback that returns no value. |
Example
async function example() {
console.info('onDemo');
let count = 0;
mgr.on('imageChange', () => {
count++;
// Image file changed. Do something.
});
try {
let testFileName = "testFile" + Date.now() + ".jpg";
let fileAsset = await mgr.createPhotoAsset(testFileName);
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
} catch (err) {
console.error('createPhotoAsset failed, message = ' + err);
}
//sleep 1s
if (count > 0) {
console.info("onDemo success");
} else {
console.error("onDemo fail");
}
mgr.off('imageChange', () => {
// Unsubscription succeeds.
});
}
off
off(type: ChangeEvent, callback?: Callback<void>): void
Unsubscribes from changes of the file management library. This API uses a callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | ChangeEvent | Yes | Type of event to unsubscribe from. deviceChange indicates the device change. albumChange indicates the album change. imageChange indicates the image change. audioChange indicates the audio file change. videoChange indicates the video file change. remoteFileChange indicates the file change on the registered device. |
callback | Callback<void> | No | Callback for the change. |
Example
async function example() {
console.info('offDemo');
let count = 0;
mgr.on('imageChange', () => {
count++;
// Image file changed. Do something.
});
mgr.off('imageChange', () => {
// Unsubscription succeeds.
});
try {
let testFileName = "testFile" + Date.now() + ".jpg";
let fileAsset = await mgr.createPhotoAsset(testFileName);
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
} catch (err) {
console.error('createPhotoAsset failed, message = ' + err);
}
//sleep 1s
if (count == 0) {
console.info("offDemo success");
} else {
console.error("offDemo fail");
}
}
getActivePeers
getActivePeers(callback: AsyncCallback<Array<PeerInfo>>): void;
Obtains information about online peer devices. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.DistributedCore
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Array<PeerInfo>> | Yes | Callback invoked to return the online peer device list. |
Example
async function example() {
console.info('getActivePeersDemo');
mgr.getActivePeers((err, devicesInfo) => {
if (devicesInfo != undefined) {
console.log('getActivePeers succeed.');
for (let i = 0; i < devicesInfo.length; i++) {
console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
}
} else {
console.error('getActivePeers failed. message = ', err);
}
});
}
getActivePeers
getActivePeers(): Promise<Array<PeerInfo>>;
Obtains information about online peer devices. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.DistributedCore
Return value
Type | Description |
---|---|
Promise<Array<PeerInfo>> | Promise used to return the online device list. |
Example
async function example() {
console.info('getActivePeersDemo');
try {
var devicesInfo = await mgr.getActivePeers();
} catch (err) {
console.error('getActivePeers failed. message = ', err);
}
if (devicesInfo != undefined) {
console.log('getActivePeers succeed.');
for (let i = 0; i < devicesInfo.length; i++) {
console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
}
} else {
console.error('get distributed fail');
}
}
getAllPeers
getAllPeers(callback: AsyncCallback<Array<PeerInfo>>): void;
Obtains information about all peer devices. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.DistributedCore
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Array<PeerInfo>> | Yes | Callback invoked to return the online peer device list. |
Example
async function example() {
console.info('getAllPeersDemo');
mgr.getAllPeers((err, devicesInfo) => {
if (devicesInfo != undefined) {
console.log('getAllPeers succeed.');
for (let i = 0; i < devicesInfo.length; i++) {
console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
}
} else {
console.error('getAllPeers failed. message = ', err);
}
});
}
getAllPeers
getAllPeers(): Promise<Array<PeerInfo>>;
Obtains information about all peer devices. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.DistributedCore
Return value
Type | Description |
---|---|
Promise<Array<PeerInfo>> | Promise used to return the peer device list. |
Example
async function example() {
console.info('getAllPeersDemo');
try {
var devicesInfo = await mgr.getAllPeers();
} catch (err) {
console.error('getAllPeers failed. message = ', err);
}
if (devicesInfo != undefined) {
console.log('getAllPeers succeed.');
for (let i = 0; i < devicesInfo.length; i++) {
console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
}
} else {
console.error('get distributed fail');
}
}
release
release(callback: AsyncCallback<void>): void
Releases this UserFileManager instance. This API uses an asynchronous callback to return the result. Call this API when the APIs in the UserFileManager instance are no longer used.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback that returns no value. |
Example
async function example() {
console.info('releaseDemo');
mgr.release((err) => {
if (err != undefined) {
console.error('release failed. message = ', err);
} else {
console.info('release ok.');
}
});
}
release
release(): Promise<void>
Releases this UserFileManager instance. This API uses a promise to return the result. Call this API when the APIs in the UserFileManager instance are no longer used.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
async function example() {
console.info('releaseDemo');
try {
await mgr.release();
console.info('release ok.');
} catch (err) {
console.error('release failed. message = ', err);
}
}
FileAsset
Provides APIs for encapsulating file asset attributes.
Attributes
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
uri | string | Yes | No | File asset URI, for example, dataability:///media/image/2. |
fileType | FileType | Yes | No | Type of the file. |
displayName | string | Yes | Yes | File name, including the file name extension, to display. |
get
get(member: string): MemberType;
Obtains the value of a FileAsset parameter.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
member | string | Yes | Name of the parameter to obtain, for example, ImageVideoKey.URI. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('fileAssetGetDemo');
try {
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getFirstObject();
let title = userFileManager.ImageVideoKey.TITLE;
let fileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
} catch (err) {
console.error('release failed. message = ', err);
}
}
set
set(member: string, value: string): void;
Sets a FileAsset parameter.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
member | string | Yes | Name of the parameter to set, for example, ImageVideoKey.URI. |
value | string | Yes | Value to set. Only the value of ImageVideoKey.TITLE can be changed. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('fileAssetSetDemo');
try {
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getFirstObject();
let title = userFileManager.ImageVideoKey.TITLE;
fileAsset.set(title.toString(), "newTitle");
} catch (err) {
console.error('release failed. message = ', err);
}
}
commitModify
commitModify(callback: AsyncCallback<void>): void
Commits the modification on the file metadata to the database. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('commitModifyDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getFirstObject();
let title = userFileManager.ImageVideoKey.TITLE;
let fileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
fileAsset.set(title.toString(), "newTitle");
fileAsset.commitModify((err) => {
if (err == undefined) {
let newFileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle);
} else {
console.error('commitModify failed, message =', err);
}
});
}
commitModify
commitModify(): Promise<void>
Commits the modification on the file metadata to the database. This API uses a promise to return the result.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('commitModifyDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getFirstObject();
let title = userFileManager.ImageVideoKey.TITLE;
let fileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
fileAsset.set(title.toString(), "newTitle");
try {
await fileAsset.commitModify();
let newFileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle);
} catch (err) {
console.error('release failed. message = ', err);
}
}
open
open(mode: string, callback: AsyncCallback<number>): void
Opens this file asset. This API uses an asynchronous callback to return the result.
NOTE
The write operations are mutually exclusive. After a write operation is complete, you must call close to release the resource.
Required permissions: ohos.permission.READ_IMAGEVIDEO, ohos.permission.READ_AUDIO, ohos.permission.WRITE_IMAGEVIDEO, or ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
mode | string | Yes | File open mode, which can be r (read-only), w (write-only), or rw (read-write). |
callback | AsyncCallback<number> | Yes | Callback invoked to return the file descriptor. |
Example
async function example() {
console.info('openDemo');
let testFileName = "testFile" + Date.now() + ".jpg";
const fileAsset = await mgr.createPhotoAsset(testFileName);
fileAsset.open('rw', (err, fd) => {
if (fd != undefined) {
console.info('File fd' + fd);
fileAsset.close(fd);
} else {
console.error('File err' + err);
}
});
}
open
open(mode: string): Promise<number>
Opens this file asset. This API uses a promise to return the result.
NOTE
The write operations are mutually exclusive. After a write operation is complete, you must call close to release the resource.
Required permissions: ohos.permission.READ_IMAGEVIDEO, ohos.permission.READ_AUDIO, ohos.permission.WRITE_IMAGEVIDEO, or ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
mode | string | Yes | File open mode, which can be r (read-only), w (write-only), or rw (read-write). |
Return value
Type | Description |
---|---|
Promise<number> | Promise used to return the file descriptor. |
Example
async function example() {
console.info('openDemo');
try {
let testFileName = "testFile" + Date.now() + ".jpg";
const fileAsset = await mgr.createPhotoAsset(testFileName);
let fd = await fileAsset.open('rw');
if (fd != undefined) {
console.info('File fd' + fd);
fileAsset.close(fd);
} else {
console.error(' open File fail');
}
} catch (err) {
console.error('open Demo err' + err);
}
}
close
close(fd: number, callback: AsyncCallback<void>): void
Closes this file asset. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
fd | number | Yes | File descriptor. |
callback | AsyncCallback<void> | Yes | Callback that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('closeDemo');
try {
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const fileAsset = await fetchResult.getFirstObject();
let fd = await fileAsset.open('rw');
console.info('file fd', fd);
fileAsset.close(fd, (err) => {
if (err == undefined) {
console.info('asset close succeed.');
} else {
console.error('close failed, message = ' + err);
}
});
} catch (err) {
console.error('close failed, message = ' + err);
}
}
close
close(fd: number): Promise<void>
Closes this file asset. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
fd | number | Yes | File descriptor. |
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('closeDemo');
try {
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
let fd = await asset.open('rw');
console.info('file fd', fd);
await asset.close(fd);
console.info('asset close succeed.');
} catch (err) {
console.error('close failed, message = ' + err);
}
}
getThumbnail
getThumbnail(callback: AsyncCallback<image.PixelMap>): void
Obtains the thumbnail of this file asset. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.READ_IMAGEVIDEO or ohos.permission.READ_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<image.PixelMap> | Yes | Callback invoked to return the pixel map of the thumbnail. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getThumbnailDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
console.info('asset displayName = ', asset.displayName);
asset.getThumbnail((err, pixelMap) => {
if (err == undefined) {
console.info('getThumbnail successful ' + pixelMap);
} else {
console.error('getThumbnail fail', err);
}
});
}
getThumbnail
getThumbnail(size: image.Size, callback: AsyncCallback<image.PixelMap>): void
Obtains the file thumbnail of the given size. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.READ_IMAGEVIDEO or ohos.permission.READ_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
size | image.Size | Yes | Size of the thumbnail to obtain. |
callback | AsyncCallback<image.PixelMap> | Yes | Callback invoked to return the pixel map of the thumbnail. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getThumbnailDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let size = { width: 720, height: 720 };
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
console.info('asset displayName = ', asset.displayName);
asset.getThumbnail(size, (err, pixelMap) => {
if (err == undefined) {
console.info('getThumbnail successful ' + pixelMap);
} else {
console.error('getThumbnail fail', err);
}
});
}
getThumbnail
getThumbnail(size?: image.Size): Promise<image.PixelMap>
Obtains the file thumbnail of the given size. This API uses a promise to return the result.
Required permissions: ohos.permission.READ_IMAGEVIDEO or ohos.permission.READ_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
size | image.Size | No | Size of the thumbnail to obtain. |
Return value
Type | Description |
---|---|
Promise<image.PixelMap> | Promise used to return the pixel map of the thumbnail. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getThumbnailDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let size = { width: 720, height: 720 };
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
console.info('asset displayName = ', asset.displayName);
asset.getThumbnail(size).then((pixelMap) => {
console.info('getThumbnail successful ' + pixelMap);
}).catch((err) => {
console.error('getThumbnail fail' + err);
});
}
favorite
favorite(isFavorite: boolean, callback: AsyncCallback<void>): void
Favorites or unfavorites this file asset. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
isFavorite | boolean | Yes | Operation to perform. The value true means to favorite the file asset, and false means the opposite. |
callback | AsyncCallback<void> | Yes | Callback that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('favoriteDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
asset.favorite(true, (err) => {
if (err == undefined) {
console.info("favorite successfully");
} else {
console.error("favorite failed with error:" + err);
}
});
}
favorite
favorite(isFavorite: boolean): Promise<void>
Favorites or unfavorites this file asset. This API uses a promise to return the result.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
isFavorite | boolean | Yes | Operation to perform. The value true means to favorite the file asset, and false means the opposite. |
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('favoriteDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
asset.favorite(true).then(function () {
console.info("favorite successfully");
}).catch(function (err) {
console.error("favorite failed with error:" + err);
});
}
FetchResult
Provides APIs to manage the file retrieval result.
getCount
getCount(): number
Obtains the total number of files in the result set.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Return value
Type | Description |
---|---|
number | Total number of files. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getCountDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const fetchCount = fetchResult.getCount();
console.info('fetchCount = ', fetchCount);
}
isAfterLast
isAfterLast(): boolean
Checks whether the cursor is in the last row of the result set.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Return value
Type | Description |
---|---|
boolean | Returns true if the cursor is in the last row of the result set; returns false otherwise. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const fetchCount = fetchResult.getCount();
console.info('count:' + fetchCount);
let fileAsset = await fetchResult.getLastObject();
if (!fetchResult.isAfterLast()) {
console.info('fileAsset isAfterLast displayName = ', fileAsset.displayName);
} else {
console.info('fileAsset not isAfterLast ');
}
}
close
close(): void
Releases and invalidates this FetchFileResult instance. After this instance is released, the APIs in this instance cannot be invoked.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('fetchResultCloseDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
try {
let fetchResult = await mgr.getPhotoAssets(fetchOption);
await fetchResult.close();
console.info('close succeed.');
} catch (err) {
console.error('close fail. message = ' + err);
}
}
getFirstObject
getFirstObject(callback: AsyncCallback<T>): void
Obtains the first file asset in the result set. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<T> | Yes | Callback invoked to return the first file asset. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getFirstObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
fetchResult.getFirstObject((err, fileAsset) => {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error("fileAsset failed with err:" + err);
}
});
}
getFirstObject
getFirstObject(): Promise<T>
Obtains the first file asset in the result set. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Return value
Type | Description |
---|---|
Promise<T> | Promise used to return the first file asset. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getFirstObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getFirstObject();
console.info('fileAsset displayName: ', fileAsset.displayName);
}
getNextObject
getNextObject(callback: AsyncCallback<T>): void
Obtains the next file asset in the result set. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callbacke | AsyncCallback<T> | Yes | Callback invoked to return the next file asset. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getNextObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
await fetchResult.getFirstObject();
if (fetchResult.isAfterLast()) {
fetchResult.getNextObject((err, fileAsset) => {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error("fileAsset failed with err: " + err);
}
});
}
}
getNextObject
getNextObject(): Promise<T>
Obtains the next file asset in the result set. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Return value
Type | Description |
---|---|
Promise<T> | Promise used to return the next file asset obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getNextObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
await fetchResult.getFirstObject();
if (fetchResult.isAfterLast()) {
let fileAsset = await fetchResult.getNextObject();
console.info('fileAsset displayName: ', fileAsset.displayName);
}
}
getLastObject
getLastObject(callback: AsyncCallback<T>): void
Obtains the last file asset in the result set. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<T> | Yes | Callback invoked to return the last file asset obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getLastObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
fetchResult.getLastObject((err, fileAsset) => {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error("fileAsset failed with err: " + err);
}
});
}
getLastObject
getLastObject(): Promise<T>
Obtains the last file asset in the result set. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Return value
Type | Description |
---|---|
Promise<T> | Promise used to return the last file asset obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getLastObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getLastObject();
console.info('fileAsset displayName: ', fileAsset.displayName);
}
getPositionObject
getPositionObject(index: number, callback: AsyncCallback<T>): void
Obtains a file asset with the specified index in the result set. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
index | number | Yes | Index of the file asset to obtain. The value starts from 0. |
callback | AsyncCallback<T> | Yes | Callback invoked to return the file asset obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPositionObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
fetchResult.getPositionObject(0, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error("fileAsset failed with err: " + err);
}
});
}
getPositionObject
getPositionObject(index: number): Promise<T>
Obtains a file asset with the specified index in the result set. This API uses a promise to return the result.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
index | number | Yes | Index of the file asset to obtain. The value starts from 0. |
Return value
Type | Description |
---|---|
Promise<T> | Promise used to return the file asset obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPositionObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getPositionObject(0);
console.info('fileAsset displayName: ', fileAsset.displayName);
}
Album
Provides APIs to manage albums.
Attributes
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
albumName | string | Yes | Yes | Album name. |
albumUri | string | Yes | No | Album URI. |
dateModified | number | Yes | No | Date when the album was last modified. |
count | number | Yes | No | Number of files in the album. |
coverUri | string | Yes | No | URI of the cover file of the album. |
getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
Obtains image and video assets. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.READ_IMAGEVIDEO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | FetchOptions | Yes | Options for fetching the image and video assets. |
callback | AsyncCallback<FetchResult<FileAsset>> | Yes | Callback invoked to return the image and video assets obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumGetFileAssetsDemoCallback');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.getPhotoAssets(fetchOption, (err, albumFetchResult) => {
if (albumFetchResult != undefined) {
console.info("album getPhotoAssets successfully, getCount: " + albumFetchResult.getCount());
} else {
console.error("album getPhotoAssets failed with error: " + err);
}
});
}
getPhotoAssets
getPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
Obtains image and video assets. This API uses a promise to return the result.
Required permissions: ohos.permission.READ_IMAGEVIDEO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | FetchOptions | Yes | Options for fetching the image and video assets. |
Promise | FetchResult<FileAsset> | Yes | Promise used to return the image and video assets obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumGetFileAssetsDemoPromise');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.getPhotoAssets(fetchOption).then((albumFetchResult) => {
console.info("album getFileAssets successfully, getCount: " + albumFetchResult.getCount());
}).catch((err) => {
console.error("album getFileAssets failed with error: " + err);
});
}
commitModify
commitModify(callback: AsyncCallback<void>): void;
Commits the modification on the album attributes to the database. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumCommitModifyDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.albumName = 'hello';
album.commitModify((err) => {
if (err != undefined) {
console.error("commitModify failed with error: " + err);
} else {
console.info("commitModify successfully");
}
});
}
commitModify
commitModify(): Promise<void>;
Commits the modification on the album attributes to the database. This API uses a promise to return the result.
Required permissions: ohos.permission.WRITE_IMAGEVIDEO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumCommitModifyDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
try {
var albumList = await mgr.getPhotoAlbums(albumFetchOptions);
} catch (err) {
console.error('getPhotoAlbums failed. message = ', err);
}
const album = await albumList.getFirstObject();
album.albumName = 'hello';
album.commitModify().then(() => {
console.info("commitModify successfully");
}).catch((err) => {
console.error("commitModify failed with error: " + err);
});
}
PrivateAlbum
Provides APIs for managing the system albums.
Attributes
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
albumName | string | Yes | Yes | Album name. |
albumUri | string | Yes | No | Album URI. |
dateModified | number | Yes | No | Date when the album was last modified. |
count | number | Yes | No | Number of files in the album. |
coverUri | string | Yes | No | URI of the cover file of the album. |
getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
Obtains image and video assets from a system album. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.READ_IMAGEVIDEO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | FetchOptions | Yes | Options for fetching the image and video assets. |
callback | AsyncCallback<FetchResult<FileAsset>> | Yes | Callback invoked to return the image and video assets obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('privateAlbumGetFileAssetsDemoCallback');
let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const trashAlbum = await albumList.getFirstObject();
trashAlbum.getPhotoAssets(fetchOption, (err, fetchResult) => {
if (fetchResult != undefined) {
let count = fetchResult.getCount();
console.info('fetchResult.count = ', count);
} else {
console.error('getFileAssets failed, message = ', err);
}
});
}
getPhotoAssets
getPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
Obtains image and video assets from a system album. This API uses a promise to return the result.
Required permissions: ohos.permission.READ_IMAGEVIDEO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | FetchOptions | Yes | Options for fetching the image and video assets. |
Return value
Type | Description |
---|---|
Promise:FetchResult<FileAsset> | Promise used to return the image and video assets obtained. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('privateAlbumGetFileAssetsDemoPromise');
let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const trashAlbum = await albumList.getFirstObject();
let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
let count = fetchResult.getCount();
console.info('fetchResult.count = ', count);
}
delete
delete(uri: string, callback: AsyncCallback<void>): void;
Deletes files from a system album.
Required permissions: ohos.permission.READ_IMAGEVIDEO, ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.READ_AUDIO, and ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
uri | string | Yes | Album URI. |
callback | AsyncCallback<void> | Yes | Callback that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('privateAlbumDeleteCallback');
let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const trashAlbum = await albumList.getFirstObject();
let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
const fileAsset = await fetchResult.getFirstObject();
let deleteFileUri = fileAsset.uri;
trashAlbum.delete(deleteFileUri, (err) => {
if (err != undefined) {
console.error('trashAlbum.delete failed, message = ', err);
} else {
console.info('trashAlbum.delete successfully');
}
});
}
delete
delete(uri: string): Promise<void>;
Deletes files from a system album.
Required permissions: ohos.permission.READ_IMAGEVIDEO, ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.READ_AUDIO, and ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
uri | string | Yes | Album URI. |
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('privateAlbumDeleteDemoPromise');
let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const trashAlbum = await albumList.getFirstObject();
let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
const fileAsset = await fetchResult.getFirstObject();
let deleteFileUri = fileAsset.uri;
trashAlbum.delete(deleteFileUri).then(() => {
console.info('trashAlbum.delete successfully');
}).catch((err) => {
console.error('trashAlbum.delete failed, message = ', err);
});
}
recover
recover(uri: string, callback: AsyncCallback<void>): void;
Recovers files in a system album.
Required permissions: ohos.permission.READ_IMAGEVIDEO, ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.READ_AUDIO, and ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
uri | string | Yes | Album URI. |
callback | AsyncCallback<void> | Yes | Callback that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('privateAlbumRecoverDemoCallback');
let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const trashAlbum = await albumList.getFirstObject();
let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
const fileAsset = await fetchResult.getFirstObject();
let recoverFileUri = fileAsset.uri;
trashAlbum.recover(recoverFileUri, (err) => {
if (err != undefined) {
console.error('trashAlbum.recover failed, message = ', err);
} else {
console.info('trashAlbum.recover successfully');
}
});
}
recover
recover(uri: string): Promise<void>;
Recovers files in a system album.
Required permissions: ohos.permission.READ_IMAGEVIDEO, ohos.permission.WRITE_IMAGEVIDEO or ohos.permission.READ_AUDIO, and ohos.permission.WRITE_AUDIO
System capability: SystemCapability.FileManagement.UserFileManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
uri | string | Yes | Album URI. |
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('privateAlbumRecoverDemoPromise');
let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const trashAlbum = await albumList.getFirstObject();
let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
const fileAsset = await fetchResult.getFirstObject();
let recoverFileUri = fileAsset.uri;
trashAlbum.recover(recoverFileUri).then(() => {
console.info('trashAlbum.recover successfully');
}).catch((err) => {
console.error('trashAlbum.recover failed, message = ', err);
});
}
MemberType
Enumerates the member types.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
number | number | Yes | Yes | The member is a number. |
string | string | Yes | Yes | The member is a string. |
boolean | boolean | Yes | Yes | The member is a Boolean value. |
ChangeEvent
Enumerates the type of changes to observe.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
deviceChange | string | Yes | Yes | Device. |
albumChange | string | Yes | Yes | Album. |
imageChange | string | Yes | Yes | Image. |
audioChange | string | Yes | Yes | Audio. |
videoChange | string | Yes | Yes | Video. |
remoteFileChange | string | Yes | Yes | Remote file. |
PeerInfo
Defines information about a registered device.
System capability: SystemCapability.FileManagement.UserFileManager.DistributedCore
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
deviceName | string | Yes | No | Name of the registered device. |
networkId | string | Yes | No | Network ID of the registered device. |
isOnline | boolean | Yes | No | Whether the registered device is online. |
FileType
Enumerates media file types.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Value | Description |
---|---|---|
IMAGE | 1 | Image. |
VIDEO | 2 | Video. |
AUDIO | 3 | Audio. |
PrivateAlbumType
Enumerates the system album types.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Value | Description |
---|---|---|
TYPE_FAVORITE | 0 | Favorites. |
TYPE_TRASH | 1 | Recycle bin. |
AudioKey
Defines the key information about an audio file.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Value | Description |
---|---|---|
URI | uri | File URI. |
DISPLAY_NAME | display_name | File name displayed. |
DATE_ADDED | date_added | Date when the file was added. The value is the number of seconds elapsed since the Epoch time. |
DATE_MODIFIED | date_modified | Date when the file content (not the file name) was last modified. The value is the number of seconds elapsed since the Epoch time. |
TITLE | title | Title in the file. |
ARTIST | artist | Author of the file. |
AUDIOALBUM | audio_album | Audio album. |
DURATION | duration | Duration, in ms. |
FAVORITE | favorite | Whether the file is added to favorites. |
ImageVideoKey
Defines the key information about an image or video file.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Value | Description |
---|---|---|
URI | uri | File URI. |
FILE_TYPE | file_type | Type of the file. |
DISPLAY_NAME | display_name | File name displayed. |
DATE_ADDED | date_added | Date when the file was added. The value is the number of seconds elapsed since the Epoch time. |
DATE_MODIFIED | date_modified | Date when the file content (not the file name) was last modified. The value is the number of seconds elapsed since the Epoch time. |
TITLE | title | Title in the file. |
DURATION | duration | Duration, in ms. |
WIDTH | width | Image width, in pixels. |
HEIGHT | height | Image height, in pixels. |
DATE_TAKEN | date_taken | Date when the file (photo) was taken. The value is the number of seconds elapsed since the Epoch time. |
ORIENTATION | orientation | Orientation of the image file. |
FAVORITE | favorite | Whether the file is added to favorites. |
AlbumKey
Defines the key album information.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Value | Description |
---|---|---|
URI | uri | Album URI. |
FILE_TYPE | file_type | Type of the file. |
ALBUM_NAME | album_name | Name of the album. |
DATE_ADDED | date_added | Date when the file was added. The value is the number of seconds elapsed since the Epoch time. |
DATE_MODIFIED | date_modified | Date when the file content (not the file name) was last modified. The value is the number of seconds elapsed since the Epoch time. |
FetchOptions
Defines the options for fetching media files.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
fetchColumns | Array<string> | Yes | Yes | Columns to fetch. If this parameter is left empty, data is fetched by URI, name, and file type by default. For example, fetchColumns: "uri". |
predicates | dataSharePredicates.DataSharePredicates | Yes | Yes | Predicates that specify the fetch criteria. |
AlbumFetchOptions
Defines the options for fetching an album.
System capability: SystemCapability.FileManagement.UserFileManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
predicates | dataSharePredicates.DataSharePredicates | Yes | Yes | Predicates that specify the fetch criteria. |