@ohos.filemanagement.userFileManager (用户数据管理)
该模块提供用户数据管理能力,包括访问、修改用户等用户公共媒体数据信息等常用功能。
说明:
- 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 本模块接口为系统接口。
导入模块
import userFileManager from '@ohos.filemanagement.userFileManager';
userFileManager.getUserFileMgr
getUserFileMgr(context: Context): UserFileManager
获取用户数据管理模块的实例,用于访问和修改用户等用户公共媒体数据信息(如音频、视频、图片、文档等)。
模型约束: 此接口仅可在Stage模型下使用。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
context | Context | 是 | 传入Ability实例的Context |
返回值:
类型 | 说明 |
---|---|
UserFileManager | 媒体库实例 |
示例:
//此处获取的userFileManager实例mgr为全局对象,后续使用到mgr的地方默认为使用此处获取的对象,如未添加此段代码报mgr未定义的错误请自行添加
const context = getContext(this);
let mgr = userFileManager.getUserFileMgr(context);
UserFileManager
getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
获取图片和视频资源,使用callback方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.READ_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | FetchOptions | 是 | 图片和视频检索选项 |
callback | AsyncCallback<FetchResult<FileAsset>> | 是 | callback 返回图片和视频检索结果集 |
示例:
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>>;
获取图片和视频资源,使用Promise方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.READ_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | FetchOptions | 是 | 图片和视频检索选项 |
返回值:
类型 | 说明 |
---|---|
Promise<FetchResult<FileAsset>> | 图片和视频数据结果集 |
示例:
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;
创建图片或视频资源,使用callback方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.WRITE_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
displayName | string | 是 | 创建的图片或者视频文件名 |
albumUri | string | 是 | 创建的图片或者视频所在相册的uri |
callback | AsyncCallback<FileAsset> | 是 | callback 返回创建的图片和视频结果 |
示例:
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;
创建图片或视频资源,使用callback方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.WRITE_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
displayName | string | 是 | 创建的图片或者视频文件名 |
callback | AsyncCallback<FileAsset> | 是 | callback 返回创建的图片和视频结果 |
示例:
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>;
创建图片或视频资源,使用Promise方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.WRITE_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
displayName | string | 是 | 创建的图片或者视频文件名 |
albumUri | string | 否 | 创建的图片或者视频所在相册的uri |
返回值:
类型 | 说明 |
---|---|
Promise<FileAsset> | 返回创建的图片和视频结果 |
示例:
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;
获取相册,使用callback方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.READ_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | AlbumFetchOptions | 是 | 相册检索选项 |
callback | AsyncCallback<FetchResult<Album>> | 是 | callback 返回相册检索结果 |
示例:
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>>;
获取相册,使用Promise方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.READ_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | AlbumFetchOptions | 是 | 相册检索选项 |
返回值:
类型 | 说明 |
---|---|
Promise<FetchResult<Album>> | Promise 返回相册检索结果 |
示例:
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;
获取系统相册,使用 callback 方式返回系统相册的数组。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.READ_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | PrivateAlbumType | 是 | 系统相册类型 |
callback | AsyncCallback<FetchResult<PrivateAlbum>> | 是 | callback 返回相册检索结果 |
示例:
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>>;
获取系统相册,使用Promise方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.READ_IMAGEVIDEO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | PrivateAlbumType | 是 | 系统相册类型 |
返回值:
类型 | 说明 |
---|---|
Promise<FetchResult<PrivateAlbum>> | Promise 返回相册检索结果 |
示例:
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;
获取音频文件,使用callback方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.READ_AUDIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | FetchOptions | 是 | 检索选项 |
callback | AsyncCallback<FetchResult<FileAsset>> | 是 | callback 返回音频检索结果 |
示例:
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>>;
获取音频文件,使用callback方式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
需要权限:ohos.permission.READ_AUDIO
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | FetchOptions | 是 | 检索选项 |
返回值:
类型 | 说明 |
---|---|
Promise<FetchResult<FileAsset>> | Promise 返回音频检索结果 |
示例:
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;
删除媒体文件,删除的文件进入到回收站。
需要权限:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
uri | string | 是 | 媒体文件uri |
callback | AsyncCallback<void> | 是 | 回调返回空 |
示例:
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>;
删除媒体文件,删除的文件进入到回收站。
需要权限:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
uri | string | 是 | 媒体文件uri |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 回调返回空 |
示例:
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
打开文件管理库变更通知,使用callback方式返回异步结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | ChangeEvent | 是 | 媒体类型 'deviceChange': 注册设备变更 'albumChange': 相册变更 'imageChange': 图片文件变更 'audioChange': 音频文件变更 'videoChange': 视频文件变更 'remoteFileChange': 注册设备上文件变更 |
callback | Callback<void> | 是 | 回调返回空 |
示例:
async function example() {
console.info('onDemo');
let count = 0;
mgr.on('imageChange', () => {
count++;
// image file had 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', () => {
// stop listening success
});
}
off
off(type: ChangeEvent, callback?: Callback<void>): void
关闭文件管理库变更通知,使用callback方式返回异步结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | ChangeEvent | 是 | 媒体类型 'deviceChange': 注册设备变更 'albumChange': 相册变更 'imageChange': 图片文件变更 'audioChange': 音频文件变更 'videoChange': 视频文件变更 'remoteFileChange': 注册设备上文件变更 |
callback | Callback<void> | 否 | 回调返回空 |
示例:
async function example() {
console.info('offDemo');
let count = 0;
mgr.on('imageChange', () => {
count++;
// image file had changed, do something
});
mgr.off('imageChange', () => {
// stop listening success
});
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;
获取在线对端设备的信息,使用callback方式返回异步结果。
系统能力:SystemCapability.FileManagement.UserFileManager.DistributedCore
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<Array<PeerInfo>> | 是 | 返回在线设备列表 |
示例:
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>>;
获取在线对端设备的信息,使用promise方式返回异步结果。
系统能力:SystemCapability.FileManagement.UserFileManager.DistributedCore
返回值:
类型 | 说明 |
---|---|
Promise<Array<PeerInfo>> | Promise实例,返回在线设备列表 |
示例:
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;
获取所有对端设备的信息,使用callback方式返回异步结果。
系统能力:SystemCapability.FileManagement.UserFileManager.DistributedCore
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<Array<PeerInfo>> | 是 | 返回在线设备列表 |
示例:
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>>;
获取所有对端设备的信息,使用promise方式返回异步结果。
系统能力:SystemCapability.FileManagement.UserFileManager.DistributedCore
返回值:
类型 | 说明 |
---|---|
Promise<Array<PeerInfo>> | Promise实例,返回所有设备列表 |
示例:
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
释放UserFileManager实例。 当后续不需要使用UserFileManager实例中的方法时调用。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调表示成功还是失败 |
示例:
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>
释放UserFileManager实例。 当后续不需要使用UserFileManager 实例中的方法时调用。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise实例,用于获取异步返回结果 |
示例:
async function example() {
console.info('releaseDemo');
try {
await mgr.release();
console.info('release ok.');
} catch (err) {
console.error('release failed. message = ', err);
}
}
FileAsset
提供封装文件属性的方法。
属性
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
uri | string | 是 | 否 | 文件资源uri(如:dataability:///media/image/2) |
fileType | FileType | 是 | 否 | 媒体文件类型 |
displayName | string | 是 | 是 | 显示文件名,包含后缀名 |
get
get(member: string): MemberType;
获取FileAsset成员参数。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
member | string | 是 | 成员参数名称例如:ImageVideoKey.URI |
示例:
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;
设置FileAsset成员参数。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
member | string | 是 | 成员参数名称例如:ImageVideoKey.URI |
value | string | 是 | 设置成员参数名称,只能修改ImageVideoKey.TITLE的值 |
示例:
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
修改文件的元数据,使用callback方式返回异步结果。
需要权限:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调返回空 |
示例:
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>
修改文件的元数据,使用promise方式返回异步结果。
需要权限:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise返回空 |
示例:
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
打开当前文件,使用callback方式返回异步结果。
注意:当前写操作是互斥的操作,写操作完成后需要调用close进行释放。
需要权限:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
callback | AsyncCallback<number> | 是 | 回调返回文件描述符 |
示例:
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>
打开当前文件,使用promise方式返回异步结果。
注意:当前写操作是互斥的操作,写操作完成后需要调用close进行释放。
需要权限:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
返回值:
类型 | 说明 |
---|---|
Promise<number> | Promise返回文件描述符 |
示例:
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
关闭当前文件,使用callback方式返回异步结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 文件描述符 |
callback | AsyncCallback<void> | 是 | 回调返回空 |
示例:
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>
关闭当前文件,使用promise方式返回异步结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 文件描述符 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise返回空 |
示例:
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
获取文件的缩略图,使用callback方式返回异步结果。
需要权限:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<image.PixelMap> | 是 | 回调返回缩略图的PixelMap |
示例:
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
获取文件的缩略图,传入缩略图尺寸,使用callback方式返回异步结果。
需要权限:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
size | image.Size | 是 | 缩略图尺寸 |
callback | AsyncCallback<image.PixelMap> | 是 | 回调返回缩略图的PixelMap |
示例:
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>
获取文件的缩略图,传入缩略图尺寸,使用promise方式返回异步结果。
需要权限:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
size | image.Size | 否 | 缩略图尺寸 |
返回值:
类型 | 说明 |
---|---|
Promise<image.PixelMap> | Promise返回缩略图的PixelMap |
示例:
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
将文件设置为收藏文件,使用callback方式返回异步结果。
需要权限:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
callback | AsyncCallback<void> | 是 | 回调返回空 |
示例:
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>
将文件设置为收藏文件,使用promise方式返回异步结果。
需要权限:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise返回空 |
示例:
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
文件检索结果集。
getCount
getCount(): number
获取文件检索结果中的文件总数。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
返回值:
类型 | 说明 |
---|---|
number | 检索到的文件总数 |
示例:
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
检查结果集是否指向最后一行。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
返回值:
类型 | 说明 |
---|---|
boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 |
示例:
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
释放 FetchFileResult 实例并使其失效。无法调用其他方法。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
示例:
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
获取文件检索结果中的第一个文件资产。此方法使用callback形式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<T> | 是 | 异步获取结果集中的第一个完成后的回调 |
示例:
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>
获取文件检索结果中的第一个文件资产。此方法使用promise方式来异步返回。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
返回值:
类型 | 说明 |
---|---|
Promise<T> | Promise方式返回 |
示例:
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
获取文件检索结果中的下一个文件资产。此方法使用callback形式返回结果。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callbacke | AsyncCallback<T> | 是 | 异步返回结果集中下一个之后的回调 |
示例:
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>
获取文件检索结果中的下一个文件资产。此方法使用promise方式来异步返回。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
返回值:
类型 | 说明 |
---|---|
Promise<T> | 返回结果集中下一个对象 |
示例:
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
获取文件检索结果中的最后一个文件资产。此方法使用callback回调来返回。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<T> | 是 | 异步返回结果集中最后一个的回调 |
示例:
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>
获取文件检索结果中的最后一个文件资产。此方法使用Promise方式来返回。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
返回值:
类型 | 说明 |
---|---|
Promise<T> | 返回结果集中最后一个对象 |
示例:
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
获取文件检索结果中具有指定索引的文件资产。此方法使用callback来返回。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
index | number | 是 | 要获取的文件的索引,从0开始 |
callback | AsyncCallback<T> | 是 | 异步返回指定索引的文件资产的回调 |
示例:
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>
获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
index | number | 是 | 要获取的文件的索引,从0开始 |
返回值:
类型 | 说明 |
---|---|
Promise<T> | 返回指定索引的文件资产的对象 |
示例:
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
实体相册
属性
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
albumName | string | 是 | 是 | 相册名称 |
albumUri | string | 是 | 否 | 相册Uri |
dateModified | number | 是 | 否 | 修改日期 |
count | number | 是 | 否 | 相册中文件数量 |
coverUri | string | 是 | 否 | 封面文件Uri |
getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
获取相册中的文件。该方法使用callback形式来返回文件。
需要权限:ohos.permission.READ_IMAGEVIDEO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | FetchOptions | 是 | 检索选项 |
callback | AsyncCallback<FetchResult<FileAsset>> | 是 | callback 返回图片和视频数据结果集 |
示例:
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>>;
获取相册中的文件。该方法使用Promise来返回文件。
需要权限:ohos.permission.READ_IMAGEVIDEO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | FetchOptions | 是 | 检索选项 |
Promise | FetchResult<FileAsset> | 是 | 图片和视频数据结果集 |
示例:
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;
更新相册属性修改到数据库中。
需要权限:ohos.permission.WRITE_IMAGEVIDEO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调返回空 |
示例:
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>;
更新相册属性修改到数据库中。
需要权限:ohos.permission.WRITE_IMAGEVIDEO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise调用返回空 |
示例:
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
系统相册。
属性
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
albumName | string | 是 | 是 | 相册名称 |
albumUri | string | 是 | 否 | 相册Uri |
dateModified | number | 是 | 否 | 修改日期 |
count | number | 是 | 否 | 相册中文件数量 |
coverUri | string | 是 | 否 | 封面文件Uri |
getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
获取系统相册中的文件。该方法使用callback形式来返回文件。
需要权限:ohos.permission.READ_IMAGEVIDEO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | FetchOptions | 是 | 检索选项 |
callback | AsyncCallback<FetchResult<FileAsset>> | 是 | callback返回图片和视频数据结果集 |
示例:
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>>;
获取系统相册中的文件。该方法使用Promise来返回文件。
需要权限:ohos.permission.READ_IMAGEVIDEO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
options | FetchOptions | 是 | 检索选项 |
返回值:
类型 | 说明 |
---|---|
Promise:FetchResult<FileAsset> | 图片和视频数据结果集 |
示例:
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;
删除系统相册中的文件。
需要权限:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
uri | string | 是 | 相册uri |
callback | AsyncCallback<void> | 是 | 回调返回空 |
示例:
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>;
删除系统相册中的文件。
需要权限:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
uri | string | 是 | 相册uri |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 回调返回空 |
示例:
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;
恢复系统相册中的文件。
需要权限:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
uri | string | 是 | 相册uri |
callback | AsyncCallback<void> | 是 | 回调返回空 |
示例:
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>;
恢复系统相册中的文件。
需要权限:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
系统能力:SystemCapability.FileManagement.UserFileManager.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
uri | string | 是 | 相册uri |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 回调返回空 |
示例:
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
成员类型。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
number | number | 是 | 是 | number类型 |
string | string | 是 | 是 | string类型 |
boolean | boolean | 是 | 是 | boolean类型 |
ChangeEvent
变更监听的媒体文件类型。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
deviceChange | string | 是 | 是 | 设备 |
albumChange | string | 是 | 是 | 相册 |
imageChange | string | 是 | 是 | 图片 |
audioChange | string | 是 | 是 | 音频 |
videoChange | string | 是 | 是 | 视频 |
remoteFileChange | string | 是 | 是 | 远程文件 |
PeerInfo
注册设备的信息。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
deviceName | string | 是 | 否 | 注册设备的名称 |
networkId | string | 是 | 否 | 注册设备的网络ID |
isOnline | boolean | 是 | 否 | 是否在线 |
FileType
枚举,媒体文件类型。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 值 | 说明 |
---|---|---|
IMAGE | 1 | 图片 |
VIDEO | 2 | 视频 |
AUDIO | 3 | 音频 |
PrivateAlbumType
枚举,系统相册类型。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 值 | 说明 |
---|---|---|
TYPE_FAVORITE | 0 | 收藏夹相册 |
TYPE_TRASH | 1 | 回收站相册 |
AudioKey
枚举,音频文件关键信息。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 值 | 说明 |
---|---|---|
URI | uri | 文件uri |
DISPLAY_NAME | display_name | 显示名字 |
DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
TITLE | title | 文件标题 |
ARTIST | artist | 作者 |
AUDIOALBUM | audio_album | 专辑 |
DURATION | duration | 持续时间(单位:毫秒) |
FAVORITE | favorite | 收藏 |
ImageVideoKey
枚举,图片和视频文件关键信息。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 值 | 说明 |
---|---|---|
URI | uri | 文件uri |
FILE_TYPE | file_type | 媒体文件类型 |
DISPLAY_NAME | display_name | 显示名字 |
DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
TITLE | title | 文件标题 |
DURATION | duration | 持续时间(单位:毫秒) |
WIDTH | width | 图片宽度(单位:像素) |
HEIGHT | height | 图片高度(单位:像素) |
DATE_TAKEN | date_taken | 拍摄日期(文件拍照时间到1970年1月1日的秒数值) |
ORIENTATION | orientation | 图片文件的方向 |
FAVORITE | favorite | 收藏 |
AlbumKey
枚举,相册关键信息。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 值 | 说明 |
---|---|---|
URI | uri | 相册uri |
FILE_TYPE | file_type | 媒体文件类型 |
ALBUM_NAME | album_name | 相册名字 |
DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
FetchOptions
检索条件。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
fetchColumns | Array<string> | 是 | 是 | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType。示例: fetchColumns: "uri" |
predicates | dataSharePredicates.DataSharePredicates | 是 | 是 | 谓词查询,显示过滤条件 |
AlbumFetchOptions
相册检索条件。
系统能力: 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
predicates | dataSharePredicates.DataSharePredicates | 是 | 是 | 谓词查询,显示过滤条件 |