diff --git a/zh-cn/application-dev/reference/apis/js-apis-userFileManager.md b/zh-cn/application-dev/reference/apis/js-apis-userFileManager.md index d4630b1829c4d6ca578ea92d806b9a92e118c534..ae8806ed12ec5773db63a96fc7926fb2ec6d8d85 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-userFileManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-userFileManager.md @@ -19,7 +19,7 @@ getUserFileMgr(context: Context): UserFileManager 获取用户数据管理模块的实例,用于访问和修改用户等用户公共媒体数据信息(如音频、视频、图片、文档等)。 -**模型约束:** 此接口仅可在Stage模型下使用。 +**模型约束**: 此接口仅可在Stage模型下使用。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core @@ -27,13 +27,13 @@ getUserFileMgr(context: Context): UserFileManager | 参数名 | 类型 | 必填 | 说明 | | ------- | ------- | ---- | -------------------------- | -| context | [Context](js-apis-inner-app-context.md) | 是 | 传入Ability实例的Context | +| context | [Context](js-apis-inner-app-context.md) | 是 | 传入Ability实例的Context。 | **返回值:** | 类型 | 说明 | | ----------------------------- | :---- | -| [UserFileManager](#userfilemanager) | 媒体库实例 | +| [UserFileManager](#userfilemanager) | 媒体库实例。 | **示例:** @@ -59,8 +59,8 @@ getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult< | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| options | [FetchOptions](#fetchoptions) | 是 | 图片和视频检索选项 | -| callback | AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是 | callback 返回图片和视频检索结果集 | +| options | [FetchOptions](#fetchoptions) | 是 | 图片和视频检索选项。 | +| callback | AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是 | callback返回图片和视频检索结果集。 | **示例:** @@ -80,7 +80,7 @@ async function example() { console.info('fetchResult success'); let fileAsset = await fetchResult.getFirstObject(); if (fileAsset != undefined) { - console.info("fileAsset.displayName : " + fileAsset.displayName); + console.info('fileAsset.displayName : ' + fileAsset.displayName); } } else { console.error('fetchResult fail' + err); @@ -103,13 +103,13 @@ getPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>&g | 参数名 | 类型 | 必填 | 说明 | | ------- | ------------------- | ---- | ---------------- | -| options | [FetchOptions](#fetchoptions) | 是 | 图片和视频检索选项 | +| options | [FetchOptions](#fetchoptions) | 是 | 图片和视频检索选项。 | **返回值:** | 类型 | 说明 | | --------------------------- | -------------- | -| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 图片和视频数据结果集 | +| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | Promise对象,返回图片和视频数据结果集。 | **示例:** @@ -129,7 +129,7 @@ async function example() { console.info('fetchResult success'); let fileAsset = await fetchResult.getFirstObject(); if (fileAsset != undefined) { - console.info("fileAsset.displayName :" + fileAsset.displayName); + console.info('fileAsset.displayName :' + fileAsset.displayName); } } } catch (err) { @@ -137,12 +137,11 @@ async function example() { } } ``` - ### createPhotoAsset createPhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback<FileAsset>): void; -创建图片或视频资源,使用callback方式返回结果。 +指定待创建的图片或者视频的文件名和所在相册的uri,创建图片或视频资源,使用callback方式返回结果。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core @@ -152,9 +151,9 @@ createPhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback& | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| displayName | string | 是 | 创建的图片或者视频文件名 | -| albumUri | string | 是 | 创建的图片或者视频所在相册的uri | -| callback | AsyncCallback<[FileAsset](#fileasset)> | 是 | callback 返回创建的图片和视频结果 | +| displayName | string | 是 | 创建的图片或者视频文件名。 | +| albumUri | string | 是 | 创建的图片或者视频所在相册的uri。 | +| callback | AsyncCallback<[FileAsset](#fileasset)> | 是 | callback返回创建的图片和视频结果。 | **示例:** @@ -169,7 +168,7 @@ async function example() { }; let albums = await mgr.getPhotoAlbums(fetchOptions); let album = await albums.getFirstObject(); - let testFileName = "testFile" + Date.now() + ".jpg"; + let testFileName = 'testFile' + Date.now() + '.jpg'; mgr.createPhotoAsset(testFileName, album.albumUri, (err, fileAsset) => { if (fileAsset != undefined) { console.info('createPhotoAsset file displayName' + fileAsset.displayName); @@ -185,7 +184,7 @@ async function example() { createPhotoAsset(displayName: string, callback: AsyncCallback<FileAsset>): void; -创建图片或视频资源,使用callback方式返回结果。 +指定待创建的图片或者视频的文件名,创建图片或视频资源,使用callback方式返回结果。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core @@ -195,15 +194,15 @@ createPhotoAsset(displayName: string, callback: AsyncCallback<FileAsset>): | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| displayName | string | 是 | 创建的图片或者视频文件名 | -| callback | AsyncCallback<[FileAsset](#fileasset)> | 是 | callback 返回创建的图片和视频结果 | +| displayName | string | 是 | 创建的图片或者视频文件名。 | +| callback | AsyncCallback<[FileAsset](#fileasset)> | 是 | callback返回创建的图片和视频结果。 | **示例:** ```ts async function example() { console.info('createPhotoAssetDemo'); - let testFileName = "testFile" + Date.now() + ".jpg"; + let testFileName = 'testFile' + Date.now() + '.jpg'; mgr.createPhotoAsset(testFileName, (err, fileAsset) => { if (fileAsset != undefined) { console.info('createPhotoAsset file displayName' + fileAsset.displayName); @@ -219,7 +218,7 @@ async function example() { createPhotoAsset(displayName: string, albumUri?: string): Promise<FileAsset>; -创建图片或视频资源,使用Promise方式返回结果。 +指定待创建的图片或者视频的文件名和所在相册的uri,创建图片或视频资源,使用Promise方式返回结果。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core @@ -229,14 +228,14 @@ createPhotoAsset(displayName: string, albumUri?: string): Promise<FileAsset&g | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| displayName | string | 是 | 创建的图片或者视频文件名 | -| albumUri | string | 否 | 创建的图片或者视频所在相册的uri | +| displayName | string | 是 | 创建的图片或者视频文件名。 | +| albumUri | string | 否 | 创建的图片或者视频所在相册的uri。 | **返回值:** | 类型 | 说明 | | --------------------------- | -------------- | -| Promise<[FileAsset](#fileasset)> | 返回创建的图片和视频结果 | +| Promise<[FileAsset](#fileasset)> | Promise对象,返回创建的图片和视频结果。 | **示例:** @@ -244,7 +243,7 @@ createPhotoAsset(displayName: string, albumUri?: string): Promise<FileAsset&g async function example() { console.info('createPhotoAssetDemo'); try { - let testFileName = "testFile" + Date.now() + ".jpg"; + let testFileName = 'testFile' + Date.now() + '.jpg'; let fileAsset = await mgr.createPhotoAsset(testFileName); console.info('createPhotoAsset file displayName' + fileAsset.displayName); console.info('createPhotoAsset successfully'); @@ -254,10 +253,163 @@ async function example() { } ``` +### createPhotoAsset + +createPhotoAsset(displayName: string, createOption: PhotoCreateOptions, callback: AsyncCallback<FileAsset>): void; + +指定待创建的图片或者视频的文件名和创建选项,创建图片或视频资源,使用callback方式返回结果。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ------------------------- | +| displayName | string | 是 | 创建的图片或者视频文件名。 | +| createOption | [PhotoCreateOptions](#photocreateoptions10) | 是 | 图片或视频的创建选项。 | +| callback | AsyncCallback<[FileAsset](#fileasset)> | 是 | callback返回创建的图片和视频结果。 | + +**示例:** + +```ts +async function example() { + console.info('createPhotoAssetDemo'); + let testFileName = 'testFile' + Date.now() + '.jpg'; + let createOption = { + subType: userFileManager.PhotoSubType.DEFAULT + } + mgr.createPhotoAsset(testFileName, createOption, (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, createOption: PhotoCreateOptions): Promise<FileAsset>; + +指定待创建的图片或者视频的文件名和创建选项,创建图片或视频资源,使用Promise方式返回结果。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ------------------------- | +| displayName | string | 是 | 创建的图片或者视频文件名。 | +| createOption | [PhotoCreateOptions](#photocreateoptions10) | 是 | 图片或视频的创建选项。 | + +**返回值:** + +| 类型 | 说明 | +| --------------------------- | -------------- | +| Promise<[FileAsset](#fileasset)> | Promise对象,返回创建的图片和视频结果。 | + +**示例:** + +```ts +async function example() { + console.info('createPhotoAssetDemo'); + try { + let testFileName = 'testFile' + Date.now() + '.jpg'; + let createOption = { + subType: userFileManager.PhotoSubType.DEFAULT + } + let fileAsset = await mgr.createPhotoAsset(testFileName, createOption); + console.info('createPhotoAsset file displayName' + fileAsset.displayName); + console.info('createPhotoAsset successfully'); + } catch (err) { + console.error('createPhotoAsset failed, message = ', err); + } +} +``` + +### createAudioAsset10+ + +createAudioAsset(displayName: string, callback: AsyncCallback<FileAsset>): void; + +创建音频文件资源,使用callback方式返回结果。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ------------------------- | +| displayName | string | 是 | 创建的音频文件名。 | +| callback | AsyncCallback<[FileAsset](#fileasset)> | 是 | callback返回创建的音频资源结果。 | + +**示例:** + +```ts +async function example() { + console.info('createAudioAssetDemo'); + let testFileName = 'testFile' + Date.now() + '.mp3'; + mgr.createAudioAsset(testFileName, (err, fileAsset) => { + if (fileAsset != undefined) { + console.info('createAudioAsset file displayName' + fileAsset.displayName); + console.info('createAudioAsset successfully'); + } else { + console.error('createAudioAsset failed, message = ', err); + } + }); +} +``` + +### createAudioAsset10+ + +createAudioAsset(displayName: string): Promise<FileAsset>; + +创建音频文件资源,使用Promise方式返回结果。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ------------------------- | +| displayName | string | 是 | 创建的音频文件名。 | + +**返回值:** + +| 类型 | 说明 | +| --------------------------- | -------------- | +| Promise<[FileAsset](#fileasset)> | Promise对象,返回创建的音频资源结果。 | + +**示例:** + +```ts +async function example() { + console.info('createAudioAssetDemo'); + try { + let testFileName = 'testFile' + Date.now() + '.mp3'; + let fileAsset = await mgr.createAudioAsset(testFileName); + console.info('createAudioAsset file displayName' + fileAsset.displayName); + console.info('createAudioAsset successfully'); + } catch (err) { + console.error('createAudioAsset failed, message = ', err); + } +} +``` + ### getPhotoAlbums getPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback<FetchResult<Album>>): void; + 获取相册,使用callback方式返回结果。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core @@ -268,8 +420,8 @@ getPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback<FetchResul | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| options | [AlbumFetchOptions](#albumfetchoptions) | 是 | 相册检索选项 | -| callback | AsyncCallback<[FetchResult](#fetchresult)<[Album](#album)>> | 是 | callback 返回相册检索结果 | +| options | [AlbumFetchOptions](#albumfetchoptions) | 是 | 相册检索选项。 | +| callback | AsyncCallback<[FetchResult](#fetchresult)<[Album](#album)>> | 是 | callback返回相册检索结果。 | **示例:** @@ -314,13 +466,13 @@ getPhotoAlbums(options: AlbumFetchOptions): Promise<FetchResult<Album>& | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| options | [AlbumFetchOptions](#albumfetchoptions) | 是 | 相册检索选项 | +| options | [AlbumFetchOptions](#albumfetchoptions) | 是 | 相册检索选项。 | **返回值:** | 类型 | 说明 | | --------------------------- | -------------- | -| Promise<[FetchResult](#fetchresult)<[Album](#album)>> | Promise 返回相册检索结果 | +| Promise<[FetchResult](#fetchresult)<[Album](#album)>> | Promise对象,返回相册检索结果。 | **示例:** @@ -344,259 +496,574 @@ async function example() { } ``` -### getPrivateAlbum +### createAlbum10+ -getPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback<FetchResult<PrivateAlbum>>): void; +createAlbum(name: string, callback: AsyncCallback<Album>): void; -获取系统相册,使用 callback 方式返回系统相册的数组。 +创建相册,使用callback方式返回结果。 + +待创建的相册名参数规格为: +- 相册名字符串长度为1~255。 +- 不允许出现的非法英文字符,包括:
. .. \ / : * ? " ' ` < > | { } [ ] +- 英文字符大小写不敏感。 +- 相册名不允许重名。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**需要权限**:ohos.permission.READ_IMAGEVIDEO +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| type | [PrivateAlbumType](#privatealbumtype) | 是 | 系统相册类型 | -| callback | AsyncCallback<[FetchResult](#fetchresult)<[PrivateAlbum](#privatealbum)>> | 是 | callback 返回相册检索结果 | +| name | string | 是 | 待创建相册的相册名。 | +| callback | AsyncCallback<[Album](#album)> | 是 | callback返回创建的相册实例。 | **示例:** ```ts 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); + console.info('createAlbumDemo'); + let albumName = 'newAlbumName' + new Date().getTime(); + mgr.createAlbum(albumName, (err, album) => { + if (err) { + console.error('createAlbumCallback failed with err: ' + err); + return; } + console.info('createAlbumCallback successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri); }); } ``` -### getPrivateAlbum +### createAlbum10+ -getPrivateAlbum(type: PrivateAlbumType): Promise<FetchResult<PrivateAlbum>>; +createAlbum(name: string): Promise<Album>; +创建相册,使用Promise方式返回结果。 -获取系统相册,使用Promise方式返回结果。 +待创建的相册名参数规格为: +- 相册名字符串长度为1~255。 +- 不允许出现的非法英文字符,包括:
. .. \ / : * ? " ' ` < > | { } [ ] +- 英文字符大小写不敏感。 +- 相册名不允许重名。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**需要权限**:ohos.permission.READ_IMAGEVIDEO +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| type | [PrivateAlbumType](#privatealbumtype) | 是 | 系统相册类型 | +| name | string | 是 | 待创建相册的相册名。 | **返回值:** | 类型 | 说明 | | --------------------------- | -------------- | -| Promise<[FetchResult](#fetchresult)<[PrivateAlbum](#privatealbum)>> | Promise 返回相册检索结果 | +| Promise<[Album](#album)> | Promise对象,返回创建的相册实例。 | **示例:** ```ts 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); - } + console.info('createAlbumDemo'); + let albumName = 'newAlbumName' + new Date().getTime(); + mgr.createAlbum(albumName).then((album) => { + console.info('createAlbumPromise successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri); + }).catch((err) => { + console.error('createAlbumPromise failed with err: ' + err); + }); } ``` -### getAudioAssets +### deleteAlbums10+ -getAudioAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void; +deleteAlbums(albums: Array<Album>, callback: AsyncCallback<void>): void; -获取音频文件,使用callback方式返回结果。 +删除相册,使用callback方式返回结果。 + +删除相册前需先确保相册存在,只能删除用户相册。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**需要权限**:ohos.permission.READ_AUDIO +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 | -| callback | AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是 | callback 返回音频检索结果 | +| albums | Array<[Album](#album)> | 是 | 待删除相册的数组。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | **示例:** ```ts -import dataSharePredicates from '@ohos.data.dataSharePredicates'; - async function example() { - console.info('getAudioAssets'); + // 示例代码为删除名称包含newAlbumName的第一个相册。 + console.info('deleteAlbumsDemo'); let predicates = new dataSharePredicates.DataSharePredicates(); + predicates.like('album_name', '%newAlbumName%'); 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); + let fetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions); + let album = await fetchResult.getFirstObject(); + mgr.deleteAlbums([album], (err) => { + if (err) { + console.error('deletePhotoAlbumsCallback failed with err: ' + err); + return; } + console.info('deletePhotoAlbumsCallback successfully'); }); + fetchResult.close(); } ``` -### getAudioAssets +### deleteAlbums10+ -getAudioAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>; +deleteAlbums(albums: Array<Album>): Promise<void>; -获取音频文件,使用callback方式返回结果。 +删除相册,使用Promise方式返回结果。 + +删除相册前需先确保相册存在,只能删除用户相册。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**需要权限**:ohos.permission.READ_AUDIO +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------ | ---- | ------------------------- | -| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 | +| albums | Array<[Album](#album)> | 是 | 待删除相册的数组。 | **返回值:** | 类型 | 说明 | | --------------------------- | -------------- | -| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | Promise 返回音频检索结果 | +| Promise<void> | Promise对象,返回void。 | **示例:** ```ts -import dataSharePredicates from '@ohos.data.dataSharePredicates'; - async function example() { - console.info('getAudioAssets'); + // 示例代码为删除名称包含newAlbumName的第一个相册。 + console.info('deleteAlbumsDemo'); let predicates = new dataSharePredicates.DataSharePredicates(); + predicates.like('album_name', '%newAlbumName%'); 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); - } - } + let fetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions); + let album = await fetchResult.getFirstObject(); + mgr.deleteAlbums([album]).then(() => { + console.info('deletePhotoAlbumsPromise successfully'); + }).catch((err) => { + console.error('deletePhotoAlbumsPromise failed with err: ' + err); + }); + fetchResult.close(); } ``` -### delete +### getAlbums10+ -delete(uri: string, callback: AsyncCallback<void>): void; +getAlbums(type: AlbumType, subType: AlbumSubType, options: FetchOptions, callback: AsyncCallback<FetchResult<Album>>): void; -删除媒体文件,删除的文件进入到回收站。 +根据检索选项和相册类型获取相册,使用callback方式返回结果。 -**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO +获取相册前需先保证相册存在。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**需要权限**:ohos.permission.READ_IMAGEVIDEO -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------- | ---- | ---------- | -| uri | string | 是 | 媒体文件uri | -| callback | AsyncCallback<void> | 是 | 回调返回空 | +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ------------------------- | +| type | [AlbumType](#albumtype10) | 是 | 相册类型。 | +| subType | [AlbumSubType](#albumsubtype10) | 是 | 相册子类型。 | +| options | [FetchOptions](#fetchoptions) | 是 | 检索选项。 | +| callback | AsyncCallback<[FetchResult](#fetchresult)<[Album](#album)>> | 是 | callback返回获取相册的结果集。 | -**示例**: +**示例:** ```ts -import dataSharePredicates from '@ohos.data.dataSharePredicates'; - async function example() { - console.info('deleteAssetDemo'); + // 示例代码中为获取相册名中包含newAlbumName的第一个相册。 + console.info('getAlbumsDemo'); let predicates = new dataSharePredicates.DataSharePredicates(); + predicates.like('album_name', '%newAlbumName%'); 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); - } + mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions, async (err, fetchResult) => { + if (err) { + console.error('getAlbumsCallback failed with err: ' + err); + return; + } + if (fetchResult == undefined) { + console.error('getAlbumsCallback fetchResult is undefined'); + return; + } + let album = await fetchResult.getFirstObject(); + console.info('getAlbumsCallback successfully, albumName: ' + album.albumName); + fetchResult.close(); + }); +} +``` - 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); +### getAlbums10+ + +getAlbums(type: AlbumType, subType: AlbumSubType, callback: AsyncCallback<FetchResult<Album>>): void; + +根据相册类型获取相册,使用callback方式返回结果。 + +获取相册前需先保证相册存在。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**需要权限**:ohos.permission.READ_IMAGEVIDEO + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ------------------------- | +| type | [AlbumType](#albumtype10) | 是 | 相册类型。 | +| subType | [AlbumSubType](#albumsubtype10) | 是 | 相册子类型。 | +| callback | AsyncCallback<[FetchResult](#fetchresult)<[Album](#album)>> | 是 | callback返回获取相册的结果集。 | + +**示例:** + +```ts +async function example() { + // 示例代码中为获取统相册VIDEO,默认已预置。 + console.info('getAlbumsDemo'); + mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.VIDEO, async (err, fetchResult) => { + if (err) { + console.error('getAlbumsCallback failed with err: ' + err); + return; } + if (fetchResult == undefined) { + console.error('getAlbumsCallback fetchResult is undefined'); + return; + } + let album = await fetchResult.getFirstObject(); + console.info('getAlbumsCallback successfully, albumUri: ' + album.albumUri); + fetchResult.close(); }); } ``` -### delete +### getAlbums10+ -delete(uri: string): Promise<void>; +getAlbums(type: AlbumType, subType: AlbumSubType, options?: FetchOptions): Promise<FetchResult<Album>>; -删除媒体文件,删除的文件进入到回收站。 +根据检索选项和相册类型获取相册,使用Promise方式返回结果。 -**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO +获取相册前需先保证相册存在。 **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**需要权限**:ohos.permission.READ_IMAGEVIDEO -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------- | ---- | ---------- | -| uri | string | 是 | 媒体文件uri | +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ------------------------- | +| type | [AlbumType](#albumtype10) | 是 | 相册类型。 | +| subType | [AlbumSubType](#albumsubtype10) | 是 | 相册子类型。 | +| options | [FetchOptions](#fetchoptions) | 否 | 检索选项,不填时默认根据相册类型检索。 | **返回值:** -| 类型 | 说明 | -| --------------------------------------- | ----------------- | -| Promise<void>| 回调返回空 | +| 类型 | 说明 | +| --------------------------- | -------------- | +| Promise<[FetchResult](#fetchresult)<[Album](#album)>> | Promise对象,返回获取相册的结果集。 | -**示例**: +**示例:** ```ts -import dataSharePredicates from '@ohos.data.dataSharePredicates'; - async function example() { - console.info('deleteDemo'); + // 示例代码中为获取相册名中包含newAlbumName的第一个相册。 + console.info('getAlbumsDemo'); let predicates = new dataSharePredicates.DataSharePredicates(); + predicates.like('album_name', '%newAlbumName%'); let fetchOptions = { fetchColumns: [], predicates: predicates }; - try { - const fetchResult = await mgr.getPhotoAssets(fetchOptions); - var asset = await fetchResult.getFirstObject(); - } catch (err) { + mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions).then( async (fetchResult) => { + if (fetchResult == undefined) { + console.error('getAlbumsPromise fetchResult is undefined'); + return; + } + let album = await fetchResult.getFirstObject(); + console.info('getAlbumsPromise successfully, albumName: ' + album.albumName); + fetchResult.close(); + }).catch((err) => { + console.error('getAlbumsPromise failed with err: ' + err); + }); +} +``` + +### getPrivateAlbum + +getPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback<FetchResult<PrivateAlbum>>): void; + +获取系统相册,使用 callback 方式返回系统相册的数组。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**需要权限**:ohos.permission.READ_IMAGEVIDEO + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ------------------------- | +| type | [PrivateAlbumType](#privatealbumtype) | 是 | 系统相册类型。 | +| callback | AsyncCallback<[FetchResult](#fetchresult)<[PrivateAlbum](#privatealbum)>> | 是 | callback返回相册检索结果。 | + +**示例:** + +```ts +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](#privatealbumtype) | 是 | 系统相册类型。 | + +**返回值:** + +| 类型 | 说明 | +| --------------------------- | -------------- | +| Promise<[FetchResult](#fetchresult)<[PrivateAlbum](#privatealbum)>> | Promise对象,返回相册检索结果。 | + +**示例:** + +```ts +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](#fetchoptions) | 是 | 检索选项。 | +| callback | AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是 | callback返回音频检索结果。 | + +**示例:** + +```ts +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](#fetchoptions) | 是 | 检索选项。 | + +**返回值:** + +| 类型 | 说明 | +| --------------------------- | -------------- | +| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | Promise对象,返回音频检索结果。 | + +**示例:** + +```ts +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> | 是 | callback返回void。 | + +**示例:** + +```ts +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>| Promise对象,返回void。 | + +**示例:** + +```ts +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); } @@ -606,9 +1073,9 @@ async function example() { } try { await mgr.delete(asset.uri); - console.info("delete successfully"); + console.info('delete successfully'); } catch (err) { - console.error("delete failed with error: " + err); + console.error('delete failed with error: ' + err); } } ``` @@ -626,7 +1093,7 @@ on(type: ChangeEvent, callback: Callback<void>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------- | ---- | ------------------------------------------------------------ | | type | [ChangeEvent](#changeevent) | 是 | 媒体类型
'deviceChange': 注册设备变更
'albumChange': 相册变更
'imageChange': 图片文件变更
'audioChange':  音频文件变更
'videoChange':  视频文件变更
'remoteFileChange': 注册设备上文件变更 | -| callback | Callback<void> | 是 | 回调返回空 | +| callback | Callback<void> | 是 | callback返回void | **示例:** @@ -639,7 +1106,7 @@ async function example() { // image file had changed, do something }); try { - let testFileName = "testFile" + Date.now() + ".jpg"; + let testFileName = 'testFile' + Date.now() + '.jpg'; let fileAsset = await mgr.createPhotoAsset(testFileName); console.info('createPhotoAsset file displayName' + fileAsset.displayName); console.info('createPhotoAsset successfully'); @@ -648,9 +1115,9 @@ async function example() { } //sleep 1s if (count > 0) { - console.info("onDemo success"); + console.info('onDemo success'); } else { - console.error("onDemo fail"); + console.error('onDemo fail'); } mgr.off('imageChange', () => { // stop listening success @@ -670,8 +1137,8 @@ off(type: ChangeEvent, callback?: Callback<void>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------- | ---- | ------------------------------------------------------------ | -| type | [ChangeEvent](#changeevent) | 是 | 媒体类型
'deviceChange': 注册设备变更
'albumChange': 相册变更
'imageChange': 图片文件变更
'audioChange':  音频文件变更
'videoChange':  视频文件变更
'remoteFileChange': 注册设备上文件变更 | -| callback | Callback<void> | 否 | 回调返回空 | +| type | [ChangeEvent](#changeevent) | 是 | 媒体类型
'deviceChange': 注册设备变更
'albumChange': 相册变更
'imageChange': 图片文件变更
'audioChange':  音频文件变更
'videoChange':  视频文件变更
'remoteFileChange': 注册设备上文件变更。 | +| callback | Callback<void> | 否 | callback返回void。 | **示例:** @@ -689,7 +1156,7 @@ async function example() { }); try { - let testFileName = "testFile" + Date.now() + ".jpg"; + let testFileName = 'testFile' + Date.now() + '.jpg'; let fileAsset = await mgr.createPhotoAsset(testFileName); console.info('createPhotoAsset file displayName' + fileAsset.displayName); console.info('createPhotoAsset successfully'); @@ -698,9 +1165,9 @@ async function example() { } //sleep 1s if (count == 0) { - console.info("offDemo success"); + console.info('offDemo success'); } else { - console.error("offDemo fail"); + console.error('offDemo fail'); } } ``` @@ -717,7 +1184,7 @@ getActivePeers(callback: AsyncCallback<Array<PeerInfo>>): void; | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------- | ---- | ------------ | -| callback | AsyncCallback<Array<[PeerInfo](#peerinfo)>> | 是 | 返回在线设备列表 | +| callback | AsyncCallback<Array<[PeerInfo](#peerinfo)>> | 是 | 返回在线设备列表。 | **示例:** @@ -749,7 +1216,7 @@ getActivePeers(): Promise<Array<PeerInfo>>; | 类型 | 说明 | | --------------------------- | ----------------------------- | -| Promise<Array<[PeerInfo](#peerinfo)>> | Promise实例,返回在线设备列表 | +| Promise<Array<[PeerInfo](#peerinfo)>> | Promise对象,返回在线设备列表。 | **示例:** @@ -784,7 +1251,7 @@ getAllPeers(callback: AsyncCallback<Array<PeerInfo>>): void; | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------- | ---- | ------------ | -| callback | AsyncCallback<Array<[PeerInfo](#peerinfo)>> | 是 | 返回在线设备列表 | +| callback | AsyncCallback<Array<[PeerInfo](#peerinfo)>> | 是 | 返回在线设备列表。 | **示例:** @@ -816,7 +1283,7 @@ getAllPeers(): Promise<Array<PeerInfo>>; | 类型 | 说明 | | --------------------------- | ----------------------------- | -| Promise<Array<[PeerInfo](#peerinfo)>> | Promise实例,返回所有设备列表 | +| Promise<Array<[PeerInfo](#peerinfo)>> | Promise对象,返回所有设备列表。 | **示例:** @@ -852,7 +1319,7 @@ release(callback: AsyncCallback<void>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | -------------------- | -| callback | AsyncCallback<void> | 是 | 回调表示成功还是失败 | +| callback | AsyncCallback<void> | 是 | 回调表示成功还是失败。 | **示例:** @@ -882,7 +1349,7 @@ release(): Promise<void> | 类型 | 说明 | | ------------------- | --------------------------------- | -| Promise<void> | Promise实例,用于获取异步返回结果 | +| Promise<void> | Promise对象,返回void。 | **示例:** @@ -904,14 +1371,13 @@ async function example() { ### 属性 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core | 名称 | 类型 | 可读 | 可写 | 说明 | | ------------------------- | ------------------------ | ---- | ---- | ------------------------------------------------------ | -| uri | string | 是 | 否 | 文件资源uri(如:dataability:///media/image/2) | +| uri | string | 是 | 否 | 文件资源uri(如:file://media/image/2)。 | | fileType | [FileType](#filetype) | 是 | 否 | 媒体文件类型 | -| displayName | string | 是 | 是 | 显示文件名,包含后缀名 | - +| displayName | string | 是 | 是 | 显示文件名,包含后缀名。 | ### get @@ -925,7 +1391,7 @@ get(member: string): MemberType; | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ----- | -| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI | +| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI。 | **示例:** @@ -937,7 +1403,7 @@ async function example() { try { let predicates = new dataSharePredicates.DataSharePredicates(); let fetchOption = { - fetchColumns: [], + fetchColumns: ['title'], predicates: predicates }; let fetchResult = await mgr.getPhotoAssets(fetchOption); @@ -963,8 +1429,8 @@ set(member: string, value: string): void; | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ----- | -| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI | -| value | string | 是 | 设置成员参数名称,只能修改ImageVideoKey.TITLE的值 | +| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI。 | +| value | string | 是 | 设置成员参数名称,只能修改ImageVideoKey.DISPLAY_NAME的值。 | **示例:** @@ -981,8 +1447,8 @@ async function example() { }; let fetchResult = await mgr.getPhotoAssets(fetchOption); let fileAsset = await fetchResult.getFirstObject(); - let title = userFileManager.ImageVideoKey.TITLE; - fileAsset.set(title.toString(), "newTitle"); + let displayName = userFileManager.ImageVideoKey.DISPLAY_NAME; + fileAsset.set(displayName, 'newDisplayName1'); } catch (err) { console.error('release failed. message = ', err); } @@ -1003,7 +1469,7 @@ commitModify(callback: AsyncCallback<void>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ----- | -| callback | AsyncCallback<void> | 是 | 回调返回空 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | **示例:** @@ -1019,14 +1485,14 @@ async function example() { }; 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"); + let displayName = userFileManager.ImageVideoKey.DISPLAY_NAME; + let fileAssetDisplayName = fileAsset.get(displayName); + console.info('fileAsset get fileAssetDisplayName = ', fileAssetDisplayName); + fileAsset.set(displayName, 'newDisplayName2'); fileAsset.commitModify((err) => { if (err == undefined) { - let newFileAssetTitle = fileAsset.get(title.toString()); - console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle); + let newFileAssetDisplayName = fileAsset.get(displayName); + console.info('fileAsset get newFileAssetDisplayName = ', newFileAssetDisplayName); } else { console.error('commitModify failed, message =', err); } @@ -1048,7 +1514,7 @@ commitModify(): Promise<void> | 类型 | 说明 | | ------------------- | ---------- | -| Promise<void> | Promise返回空 | +| Promise<void> | Promise对象,返回void。 | **示例:** @@ -1064,14 +1530,14 @@ async function example() { }; 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"); + let displayName = userFileManager.ImageVideoKey.DISPLAY_NAME; + let fileAssetDisplayName = fileAsset.get(displayName); + console.info('fileAsset get fileAssetDisplayName = ', fileAssetDisplayName); + fileAsset.set(displayName, 'newDisplayName3'); try { await fileAsset.commitModify(); - let newFileAssetTitle = fileAsset.get(title.toString()); - console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle); + let newFileAssetDisplayName = fileAsset.get(displayName); + console.info('fileAsset get newFileAssetDisplayName = ', newFileAssetDisplayName); } catch (err) { console.error('release failed. message = ', err); } @@ -1090,19 +1556,19 @@ open(mode: string, callback: AsyncCallback<number>): void **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数** +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ----------------------------------- | -| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) | -| callback | AsyncCallback<number> | 是 | 回调返回文件描述符 | +| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写)。 | +| callback | AsyncCallback<number> | 是 | callback返回文件描述符。 | **示例:** ```ts async function example() { console.info('openDemo'); - let testFileName = "testFile" + Date.now() + ".jpg"; + let testFileName = 'testFile' + Date.now() + '.jpg'; const fileAsset = await mgr.createPhotoAsset(testFileName); fileAsset.open('rw', (err, fd) => { if (fd != undefined) { @@ -1131,13 +1597,13 @@ open(mode: string): Promise<number> | 参数名 | 类型 | 必填 | 说明 | | ---- | ------ | ---- | ----------------------------------- | -| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) | +| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写)。 | **返回值:** | 类型 | 说明 | | --------------------- | ------------- | -| Promise<number> | Promise返回文件描述符 | +| Promise<number> | Promise对象,返回文件描述符。 | **示例:** @@ -1145,7 +1611,7 @@ open(mode: string): Promise<number> async function example() { console.info('openDemo'); try { - let testFileName = "testFile" + Date.now() + ".jpg"; + let testFileName = 'testFile' + Date.now() + '.jpg'; const fileAsset = await mgr.createPhotoAsset(testFileName); let fd = await fileAsset.open('rw'); if (fd != undefined) { @@ -1172,8 +1638,8 @@ close(fd: number, callback: AsyncCallback<void>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ----- | -| fd | number | 是 | 文件描述符 | -| callback | AsyncCallback<void> | 是 | 回调返回空 | +| fd | number | 是 | 文件描述符。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | **示例:** @@ -1217,13 +1683,13 @@ close(fd: number): Promise<void> | 参数名 | 类型 | 必填 | 说明 | | ---- | ------ | ---- | ----- | -| fd | number | 是 | 文件描述符 | +| fd | number | 是 | 文件描述符。 | **返回值:** | 类型 | 说明 | | ------------------- | ---------- | -| Promise<void> | Promise返回空 | +| Promise<void> | Promise对象,返回void。 | **示例:** @@ -1264,7 +1730,7 @@ getThumbnail(callback: AsyncCallback<image.PixelMap>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------- | ---- | ---------------- | -| callback | AsyncCallback<[image.PixelMap](js-apis-image.md#pixelmap7)> | 是 | 回调返回缩略图的PixelMap | +| callback | AsyncCallback<[image.PixelMap](js-apis-image.md#pixelmap7)> | 是 | callback返回缩略图的PixelMap。 | **示例:** @@ -1305,8 +1771,8 @@ getThumbnail(size: image.Size, callback: AsyncCallback<image.PixelMap>): v | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------- | ---- | ---------------- | -| size | [image.Size](js-apis-image.md#size) | 是 | 缩略图尺寸 | -| callback | AsyncCallback<[image.PixelMap](js-apis-image.md#pixelmap7)> | 是 | 回调返回缩略图的PixelMap | +| size | [image.Size](js-apis-image.md#size) | 是 | 缩略图尺寸。 | +| callback | AsyncCallback<[image.PixelMap](js-apis-image.md#pixelmap7)> | 是 | callback返回缩略图的PixelMap。 | **示例:** @@ -1348,13 +1814,13 @@ getThumbnail(size?: image.Size): Promise<image.PixelMap> | 参数名 | 类型 | 必填 | 说明 | | ---- | -------------- | ---- | ----- | -| size | [image.Size](js-apis-image.md#size) | 否 | 缩略图尺寸 | +| size | [image.Size](js-apis-image.md#size) | 否 | 缩略图尺寸。 | **返回值:** | 类型 | 说明 | | ----------------------------- | --------------------- | -| Promise<[image.PixelMap](js-apis-image.md#pixelmap7)> | Promise返回缩略图的PixelMap | +| Promise<[image.PixelMap](js-apis-image.md#pixelmap7)> | Promise对象,返回缩略图的PixelMap。 | **示例:** @@ -1394,8 +1860,8 @@ favorite(isFavorite: boolean, callback: AsyncCallback<void>): void | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------------------------- | ---- | ---------------------------------- | -| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 | -| callback | AsyncCallback<void> | 是 | 回调返回空 | +| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | **示例:** @@ -1413,9 +1879,9 @@ async function example() { const asset = await fetchResult.getFirstObject(); asset.favorite(true, (err) => { if (err == undefined) { - console.info("favorite successfully"); + console.info('favorite successfully'); } else { - console.error("favorite failed with error:" + err); + console.error('favorite failed with error:' + err); } }); } @@ -1435,13 +1901,13 @@ favorite(isFavorite: boolean): Promise<void> | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------- | ---- | ---------------------------------- | -| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 | +| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏。 | **返回值:** | 类型 | 说明 | | ------------------- | ---------- | -| Promise<void> | Promise返回空 | +| Promise<void> | Promise对象,返回void。 | **示例:** @@ -1458,32 +1924,124 @@ async function example() { let fetchResult = await mgr.getPhotoAssets(fetchOption); const asset = await fetchResult.getFirstObject(); asset.favorite(true).then(function () { - console.info("favorite successfully"); + console.info('favorite successfully'); }).catch(function (err) { - console.error("favorite failed with error:" + err); + console.error('favorite failed with error:' + err); }); } ``` -## FetchResult +### setHidden10+ -文件检索结果集。 +setHidden(hiddenState: boolean, callback: AsyncCallback<void>): void -### getCount +将文件设置为隐私文件,使用callback方式返回异步结果。 -getCount(): number +隐私文件存在隐私相册中,对三方应用不开放,用户通过隐私相册去获取隐私文件后可以通过设置hiddenState为false来从隐私相册中移除。 -获取文件检索结果中的文件总数。 +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**返回值:** +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ------------------------- | ---- | ---------------------------------- | +| hiddenState | boolean | 是 | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | + +**示例:** + +```ts +import dataSharePredicates from '@ohos.data.dataSharePredicates'; + +async function example() { + console.info('setHiddenDemo'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let fetchResult = await mgr.getPhotoAssets(fetchOption); + const asset = await fetchResult.getFirstObject(); + asset.setHidden(true, (err) => { + if (err == undefined) { + console.info('setHidden successfully'); + } else { + console.error('setHidden failed with error:' + err); + } + }); +} +``` + +### setHidden10+ + +setHidden(hiddenState: boolean): Promise<void> + +将文件设置为隐私文件,使用promise方式返回异步结果。 + +隐私文件存在隐私相册中,对三方应用不开放,用户通过隐私相册去获取隐私文件后可以通过设置hiddenState为false来从隐私相册中移除。 + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ------- | ---- | ---------------------------------- | +| hiddenState | boolean | 是 | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ---------- | +| Promise<void> | Promise对象,返回void。 | + +**示例:** + +```ts +import dataSharePredicates from '@ohos.data.dataSharePredicates'; + +async function example() { + // 示例代码为将文件从隐藏相册中恢复,需要先在隐藏相册预置资源 + console.info('setHiddenDemo'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumList = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.HIDDEN); + const album = await albumList.getFirstObject(); + let fetchResult = await album.getPhotoAssets(fetchOption); + const asset = await fetchResult.getFirstObject(); + asset.setHidden(false).then(() => { + console.info('setHidden successfully'); + }).catch((err) => { + console.error('setHidden failed with error:' + err); + }); +} +``` + +## FetchResult + +文件检索结果集。 + +### getCount + +getCount(): number + +获取文件检索结果中的文件总数。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**返回值:** | 类型 | 说明 | | ------ | -------- | -| number | 检索到的文件总数 | +| number | 检索到的文件总数。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1515,7 +2073,7 @@ isAfterLast(): boolean | ------- | ---------------------------------- | | boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1546,7 +2104,7 @@ close(): void **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1576,13 +2134,13 @@ getFirstObject(callback: AsyncCallback<T>): void **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------------------- | ---- | ------------------------------------------- | -| callback | AsyncCallback<T> | 是 | 异步获取结果集中的第一个完成后的回调 | +| callback | AsyncCallback<T> | 是 | 异步获取结果集中的第一个完成后的回调。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1599,7 +2157,7 @@ async function example() { if (fileAsset != undefined) { console.info('fileAsset displayName: ', fileAsset.displayName); } else { - console.error("fileAsset failed with err:" + err); + console.error('fileAsset failed with err:' + err); } }); } @@ -1617,9 +2175,9 @@ getFirstObject(): Promise<T> | 类型 | 说明 | | --------------------------------------- | -------------------------- | -| Promise<T> | Promise方式返回 | +| Promise<T> | Promise对象,返回结果集中第一个对象。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1645,13 +2203,13 @@ async function example() { **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | --------- | --------------------------------------------- | ---- | ----------------------------------------- | -| callbacke | AsyncCallback<T> | 是 | 异步返回结果集中下一个之后的回调 | +| callbacke | AsyncCallback<T> | 是 | 异步返回结果集中下一个之后的回调。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1670,7 +2228,7 @@ async function example() { if (fileAsset != undefined) { console.info('fileAsset displayName: ', fileAsset.displayName); } else { - console.error("fileAsset failed with err: " + err); + console.error('fileAsset failed with err: ' + err); } }); } @@ -1689,9 +2247,9 @@ async function example() { | 类型 | 说明 | | --------------------------------------- | ----------------- | -| Promise<T> | 返回结果集中下一个对象 | +| Promise<T> | Promise对象,返回结果集中下一个对象。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1720,13 +2278,13 @@ getLastObject(callback: AsyncCallback<T>): void **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------------------------- | ---- | --------------------------- | -| callback | AsyncCallback<T> | 是 | 异步返回结果集中最后一个的回调 | +| callback | AsyncCallback<T> | 是 | 异步返回结果集中最后一个的回调。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1743,7 +2301,7 @@ async function example() { if (fileAsset != undefined) { console.info('fileAsset displayName: ', fileAsset.displayName); } else { - console.error("fileAsset failed with err: " + err); + console.error('fileAsset failed with err: ' + err); } }); } @@ -1761,9 +2319,9 @@ getLastObject(): Promise<T> | 类型 | 说明 | | --------------------------------------- | ----------------- | -| Promise<T> | 返回结果集中最后一个对象 | +| Promise<T> | Promise对象,返回结果集中最后一个对象。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -1789,257 +2347,724 @@ getPositionObject(index: number, callback: AsyncCallback<T>): void **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------------------- | ---- | ------------------ | +| index | number | 是 | 要获取的文件的索引,从0开始。 | +| callback | AsyncCallback<T> | 是 | 异步返回指定索引的文件资产的回调。 | + +**示例:** + +```ts +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> | Promise对象,返回结果集中指定索引的一个对象。 | + +**示例:** + +```ts +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); +} +``` + +### getAllObject10+ + +getAllObject(callback: AsyncCallback<Array<T>>): void + +获取文件检索结果中的所有文件资产。此方法使用callback形式返回结果。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | --------------------------------------------- | ---- | ------------------------------------------- | +| callback | AsyncCallback<Array<T>> | 是 | 异步获取结果集中的所有文件资产完成后的回调。 | + +**示例:** + +```ts +import dataSharePredicates from '@ohos.data.dataSharePredicates'; + +async function example() { + console.info('getAllObjectDemo'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let fetchResult = await mgr.getPhotoAssets(fetchOption); + fetchResult.getAllObject((err, fileAssetList) => { + if (fileAssetList != undefined) { + console.info('fileAssetList length: ', fileAssetList.length); + } else { + console.error('fileAssetList failed with err:' + err); + } + }); +} +``` + +### getAllObject10+ + +getAllObject(): Promise<Array<T>> + +获取文件检索结果中的所有文件资产。此方法使用promise方式来异步返回。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**返回值:** + +| 类型 | 说明 | +| --------------------------------------- | -------------------------- | +| Promise<Array<T>> | Promise对象,返回结果集中所有文件资产数组。 | + +**示例:** + +```ts +import dataSharePredicates from '@ohos.data.dataSharePredicates'; + +async function example() { + console.info('getAllObjectDemo'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let fetchResult = await mgr.getPhotoAssets(fetchOption); + let fileAssetList = await fetchResult.getAllObject(); + console.info('fileAssetList length: ', fileAssetList.length); +} +``` + +## Album + +实体相册 + +### 属性 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------------ | ------ | ---- | ---- | ------- | +| albumType8+ | [AlbumType]( #albumtype10) | 是 | 否 | 相册类型。 | +| albumSubType8+ | [AlbumSubType]( #albumsubtype10) | 是 | 否 | 相册子类型。 | +| albumName | string | 是 | 用户相册可写,预置相册不可写 | 相册名称。 | +| albumUri | string | 是 | 否 | 相册Uri。 | +| 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](#fetchoptions) | 是 | 检索选项。 | +| callback | AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是 | callback返回图片和视频数据结果集。 | + +**示例:** + +```ts +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](#fetchoptions) | 是 | 检索选项。 | + +**返回值:** + +| 类型 | 说明 | +| --------------------------------------- | ----------------- | +| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | Promise对象,返回图片和视频数据结果集。 | + +**示例:** + +```ts +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; + +更新相册属性修改到数据库中。该方法使用callback形式来返回结果。 + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | ---- | ---------- | +| callback | AsyncCallback<void> | 是 | callback返回void。 | + +**示例:** + +```ts +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>; + +更新相册属性修改到数据库中。该方法使用Promise来返回结果。 + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------ | +| Promise<void> | Promise对象,返回void。 | + +**示例:** + +```ts +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); + }); +} +``` + +### addPhotoAssets10+ + +addPhotoAssets(assets: Array<FileAsset>, callback: AsyncCallback<void>): void; + +往相册中添加图片或者视频,需要先预置相册和文件资源。该方法使用callback形式来返回结果。 + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | ---- | ---------- | +| assets | Array<[FileAsset](#fileasset)> | 是 | 待添加到相册中的图片或视频数组。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | + +**示例:** + +```ts +import dataSharePredicates from '@ohos.data.dataSharePredicates'; + +async function example() { + try { + console.info('addPhotoAssetsDemoCallback'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC); + let album = await albumFetchResult.getFirstObject(); + let fetchResult = await mgr.getPhotoAssets(fetchOption); + let asset = await fetchResult.getFirstObject(); + album.addPhotoAssets([asset], (err) => { + if (err === undefined) { + console.info('album addPhotoAssets successfully'); + } else { + console.error('album addPhotoAssets failed with error: ' + err); + } + }); + } catch (err) { + console.error('addPhotoAssetsDemoCallback failed with error: ' + err); + } +} +``` + +### addPhotoAssets10+ + +addPhotoAssets(assets: Array<FileAsset>): Promise<void>; + +往相册中添加图片或者视频,需要先预置相册和文件资源。该方法使用Promise来返回结果。 + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | ---- | ---------- | +| assets | Array<[FileAsset](#fileasset)> | 是 | 待添加到相册中的图片或视频数组。 | + +**返回值:** + +| 类型 | 说明 | +| --------------------------------------- | ----------------- | +|Promise<void> | Promise对象,返回void。 | + +**示例:** + +```ts +import dataSharePredicates from '@ohos.data.dataSharePredicates'; + +async function example() { + try { + console.info('addPhotoAssetsDemoPromise'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC); + let album = await albumFetchResult.getFirstObject(); + let fetchResult = await mgr.getPhotoAssets(fetchOption); + let asset = await fetchResult.getFirstObject(); + album.addPhotoAssets([asset]).then(() => { + console.info('album addPhotoAssets successfully'); + }).catch((err) => { + console.error('album addPhotoAssets failed with error: ' + err); + }); + } catch (err) { + console.error('addPhotoAssetsDemoPromise failed with error: ' + err); + } +} +``` + +### removePhotoAssets10+ + +removePhotoAssets(assets: Array<FileAsset>, callback: AsyncCallback<void>): void; + +从相册中移除图片或者视频,需要先预置相册和文件资源。该方法使用callback形式来返回结果。 + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +**参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ---------------------------------------- | ---- | ------------------ | -| index | number | 是 | 要获取的文件的索引,从0开始 | -| callback | AsyncCallback<T> | 是 | 异步返回指定索引的文件资产的回调 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | ---- | ---------- | +| assets | Array<[FileAsset](#fileasset)> | 是 | 相册中待移除的图片或视频数组。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | -**示例**: +**示例:** ```ts 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); - } - }); + try { + console.info('removePhotoAssetsDemoCallback'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC); + let album = await albumFetchResult.getFirstObject(); + let fetchResult = await album.getPhotoAssets(fetchOption); + let asset = await fetchResult.getFirstObject(); + album.removePhotoAssets([asset], (err) => { + if (err === undefined) { + console.info('album removePhotoAssets successfully'); + } else { + console.error('album removePhotoAssets failed with error: ' + err); + } + }); + } catch (err) { + console.error('removePhotoAssetsDemoCallback failed with error: ' + err); + } } ``` -### getPositionObject +### removePhotoAssets10+ -getPositionObject(index: number): Promise<T> +removePhotoAssets(assets: Array<FileAsset>): Promise<void>; -获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。 +从相册中移除图片或者视频,需要先预置相册和文件资源。该方法使用Promise来返回结果。 + +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----- | ------ | ---- | -------------- | -| index | number | 是 | 要获取的文件的索引,从0开始 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | ---- | ---------- | +| assets | Array<[FileAsset](#fileasset)> | 是 | 相册中待移除的图片或视频数组。 | **返回值:** | 类型 | 说明 | | --------------------------------------- | ----------------- | -| Promise<T> | 返回指定索引的文件资产的对象 | +|Promise<void> | Promise对象,返回void。 | -**示例**: +**示例:** ```ts 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); + try { + console.info('removePhotoAssetsDemoPromise'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC); + let album = await albumFetchResult.getFirstObject(); + let fetchResult = await album.getPhotoAssets(fetchOption); + let asset = await fetchResult.getFirstObject(); + album.removePhotoAssets([asset]).then(() => { + console.info('album removePhotoAssets successfully'); + }).catch((err) => { + console.error('album removePhotoAssets failed with error: ' + err); + }); + } catch (err) { + console.error('removePhotoAssetsDemoPromise failed with error: ' + err); + } } ``` -## Album - -实体相册 - -### 属性 - -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ------------ | ------ | ---- | ---- | ------- | -| albumName | string | 是 | 是 | 相册名称 | -| albumUri | string | 是 | 否 | 相册Uri | -| dateModified | number | 是 | 否 | 修改日期 | -| count | number | 是 | 否 | 相册中文件数量 | -| coverUri | string | 是 | 否 | 封面文件Uri - -### getPhotoAssets +### recoverPhotoAssets10+ -getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void; +recoverPhotoAssets(assets: Array<FileAsset>, callback: AsyncCallback<void>): void; -获取相册中的文件。该方法使用callback形式来返回文件。 +从回收站中恢复图片或者视频,需要先在回收站中预置文件资源。该方法使用callback形式来返回结果。 -**需要权限**:ohos.permission.READ_IMAGEVIDEO +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 | -| callback | AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是 | callback 返回图片和视频数据结果集| +| assets | Array<[FileAsset](#fileasset)> | 是 | 回收站中待恢复图片或者视频数组。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | -**示例**: +**示例:** ```ts 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); - } - }); + try { + console.info('recoverPhotoAssetsDemoCallback'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH); + let album = await albumFetchResult.getFirstObject(); + let fetchResult = await album.getPhotoAssets(fetchOption); + let asset = await fetchResult.getFirstObject(); + album.recoverPhotoAssets([asset], (err) => { + if (err === undefined) { + console.info('album recoverPhotoAssets successfully'); + } else { + console.error('album recoverPhotoAssets failed with error: ' + err); + } + }); + } catch (err) { + console.error('recoverPhotoAssetsDemoCallback failed with error: ' + err); + } } ``` -### getPhotoAssets +### recoverPhotoAssets10+ -getPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>; +recoverPhotoAssets(assets: Array<FileAsset>): Promise<void>; -获取相册中的文件。该方法使用Promise来返回文件。 +从回收站中恢复图片或者视频,需要先在回收站中预置文件资源。该方法使用Promise来返回结果。 -**需要权限**:ohos.permission.READ_IMAGEVIDEO +**需要权限**:ohos.permission.WRITE_IMAGEVIDEO **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 | -| Promise | [FetchResult](#fetchresult)<[FileAsset](#fileasset)> | 是 | 图片和视频数据结果集 | +| assets | Array<[FileAsset](#fileasset)> | 是 | 回收站中待恢复图片或者视频数组。 | + +**返回值:** -**示例**: +| 类型 | 说明 | +| --------------------------------------- | ----------------- | +|Promise<void> | Promise对象,返回void。 | + +**示例:** ```ts 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); - }); + try { + console.info('recoverPhotoAssetsDemoPromise'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH); + let album = await albumFetchResult.getFirstObject(); + let fetchResult = await album.getPhotoAssets(fetchOption); + let asset = await fetchResult.getFirstObject(); + album.recoverPhotoAssets([asset]).then(() => { + console.info('album recoverPhotoAssets successfully'); + }).catch((err) => { + console.error('album recoverPhotoAssets failed with error: ' + err); + }); + } catch (err) { + console.error('recoverPhotoAssetsDemoPromise failed with error: ' + err); + } } ``` -### commitModify +### deletePhotoAssets10+ -commitModify(callback: AsyncCallback<void>): void; +deletePhotoAssets(assets: Array<FileAsset>, callback: AsyncCallback<void>): void; -更新相册属性修改到数据库中。 +从回收站中彻底删除图片或者视频,需要先在回收站中预置文件资源。该方法使用callback形式来返回结果。 + +**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作。 **需要权限**:ohos.permission.WRITE_IMAGEVIDEO **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| callback | AsyncCallback<void> | 是 | 回调返回空 | +| assets | Array<[FileAsset](#fileasset)> | 是 | 回收站中待彻底删除图片或者视频数组。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | -**示例**: +**示例:** ```ts 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"); - } - }); + try { + console.info('deletePhotoAssetsDemoCallback'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH); + let album = await albumFetchResult.getFirstObject(); + let fetchResult = await album.getPhotoAssets(fetchOption); + let asset = await fetchResult.getFirstObject(); + album.deletePhotoAssets([asset], (err) => { + if (err === undefined) { + console.info('album deletePhotoAssets successfully'); + } else { + console.error('album deletePhotoAssets failed with error: ' + err); + } + }); + } catch (err) { + console.error('deletePhotoAssetsDemoCallback failed with error: ' + err); + } } ``` -### commitModify +### deletePhotoAssets10+ -commitModify(): Promise<void>; +deletePhotoAssets(assets: Array<FileAsset>): Promise<void>; + +从回收站中彻底删除图片或者视频,需要先在回收站中预置文件资源。该方法使用Promise来返回结果。 -更新相册属性修改到数据库中。 +**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作。 **需要权限**:ohos.permission.WRITE_IMAGEVIDEO **系统能力**:SystemCapability.FileManagement.UserFileManager.Core +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | ---- | ---------- | +| assets | Array<[FileAsset](#fileasset)> | 是 | 回收站中待彻底删除图片或者视频数组。 | + **返回值:** -| 类型 | 说明 | -| ------------------- | ------------ | -| Promise<void> | Promise调用返回空 | +| 类型 | 说明 | +| --------------------------------------- | ----------------- | +|Promise<void> | Promise对象,返回void。 | -**示例**: +**示例:** ```ts 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); + console.info('deletePhotoAssetsDemoPromise'); + let predicates = new dataSharePredicates.DataSharePredicates(); + let fetchOption = { + fetchColumns: [], + predicates: predicates + }; + let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH); + let album = await albumFetchResult.getFirstObject(); + let fetchResult = await album.getPhotoAssets(fetchOption); + let asset = await fetchResult.getFirstObject(); + album.deletePhotoAssets([asset]).then(() => { + console.info('album deletePhotoAssets successfully'); + }).catch((err) => { + console.error('album deletePhotoAssets failed with error: ' + err); + }); } catch (err) { - console.error('getPhotoAlbums failed. message = ', err); + console.error('deletePhotoAssetsDemoPromise failed with error: ' + 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); - }); } ``` @@ -2049,15 +3074,15 @@ async function example() { ### 属性 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core | 名称 | 类型 | 可读 | 可写 | 说明 | | ------------ | ------ | ---- | ---- | ------- | -| albumName | string | 是 | 是 | 相册名称 | -| albumUri | string | 是 | 否 | 相册Uri | -| dateModified | number | 是 | 否 | 修改日期 | -| count | number | 是 | 否 | 相册中文件数量 | -| coverUri | string | 是 | 否 | 封面文件Uri +| albumName | string | 是 | 是 | 相册名称。 | +| albumUri | string | 是 | 否 | 相册Uri。 | +| dateModified | number | 是 | 否 | 修改日期。 | +| count | number | 是 | 否 | 相册中文件数量。 | +| coverUri | string | 是 | 否 | 封面文件Uri。 | ### getPhotoAssets @@ -2069,14 +3094,14 @@ getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult< **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 | -| callback | AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是 | callback返回图片和视频数据结果集 | +| options | [FetchOptions](#fetchoptions) | 是 | 检索选项。 | +| callback | AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是 | callback返回图片和视频数据结果集。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -2112,19 +3137,19 @@ getPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>&g **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 | +| options | [FetchOptions](#fetchoptions) | 是 | 检索选项。 | **返回值:** | 类型 | 说明 | | --------------------------------------- | ----------------- | -| Promise:[FetchResult](#fetchresult)<[FileAsset](#fileasset)>| 图片和视频数据结果集 | +| Promise:[FetchResult](#fetchresult)<[FileAsset](#fileasset)>| Promise对象,返回图片和视频数据结果集。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -2154,14 +3179,14 @@ delete(uri: string, callback: AsyncCallback<void>): void; **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| uri | string | 是 | 相册uri | -| callback | AsyncCallback<void> | 是 | 回调返回空 | +| uri | string | 是 | 相册uri。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -2198,19 +3223,19 @@ delete(uri: string): Promise<void>; **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| uri | string | 是 | 相册uri | +| uri | string | 是 | 相册uri。 | **返回值:** | 类型 | 说明 | | --------------------------------------- | ----------------- | -| Promise<void>| 回调返回空 | +| Promise<void>| Promise对象,返回void。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -2245,14 +3270,14 @@ recover(uri: string, callback: AsyncCallback<void>): void; **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| uri | string | 是 | 相册uri | -| callback | AsyncCallback<void> | 是 | 回调返回空 | +| uri | string | 是 | 相册uri。 | +| callback | AsyncCallback<void> | 是 | callback返回void。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -2289,19 +3314,19 @@ recover(uri: string): Promise<void>; **系统能力**:SystemCapability.FileManagement.UserFileManager.Core -**参数**: +**参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| uri | string | 是 | 相册uri | +| uri | string | 是 | 相册uri。 | **返回值:** | 类型 | 说明 | | --------------------------------------- | ----------------- | -| Promise<void>| 回调返回空 | +| Promise<void>| Promise对象,返回void。 | -**示例**: +**示例:** ```ts import dataSharePredicates from '@ohos.data.dataSharePredicates'; @@ -2330,134 +3355,199 @@ async function example() { 成员类型。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core | 名称 | 类型 | 可读 | 可写 | 说明 | | ----- | ---- | ---- | ---- | ---- | -| number | number | 是 | 是 | number类型 | -| string | string | 是 | 是 | string类型 | -| boolean | boolean | 是 | 是 | boolean类型 | +| number | number | 是 | 是 | number类型。 | +| string | string | 是 | 是 | string类型。| +| boolean | boolean | 是 | 是 | boolean类型。 | ## ChangeEvent 变更监听的媒体文件类型。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core | 名称 | 类型 | 可读 | 可写 | 说明 | | ----- | ---- | ---- | ---- | ---- | -| deviceChange | string | 是 | 是 | 设备 | -| albumChange | string | 是 | 是 | 相册 | -| imageChange | string | 是 | 是 | 图片 | -| audioChange | string | 是 | 是 | 音频 | -| videoChange | string | 是 | 是 | 视频 | -| remoteFileChange | string | 是 | 是 | 远程文件 | +| deviceChange | string | 是 | 是 | 设备。 | +| albumChange | string | 是 | 是 | 相册。 | +| imageChange | string | 是 | 是 | 图片。 | +| audioChange | string | 是 | 是 | 音频。 | +| videoChange | string | 是 | 是 | 视频。 | +| remoteFileChange | string | 是 | 是 | 远程文件。 | ## PeerInfo 注册设备的信息。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore +**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore | 名称 | 类型 | 可读 | 可写 | 说明 | | ---------- | -------------------------- | ---- | ---- | ---------------- | -| deviceName | string | 是 | 否 | 注册设备的名称 | -| networkId | string | 是 | 否 | 注册设备的网络ID | -| isOnline | boolean | 是 | 否 | 是否在线 | +| deviceName | string | 是 | 否 | 注册设备的名称。 | +| networkId | string | 是 | 否 | 注册设备的网络ID。 | +| isOnline | boolean | 是 | 否 | 是否在线。 | ## FileType 枚举,媒体文件类型。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +| 名称 | 值 | 说明 | +| ----- | ---- | ---- | +| IMAGE | 1 | 图片。 | +| VIDEO | 2 | 视频。 | +| AUDIO | 3 | 音频。 | + +## PhotoSubType10+ + +枚举,不同[FileAsset](#fileasset)的类型。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +| 名称 | 值 | 说明 | +| ----- | ---- | ---- | +| DEFAULT | 0 | 默认照片类型。 | +| SCREENSHOT | 1 | 截屏录屏文件类型。 | +| CAMERA | 2 | 相机拍摄的照片和视频类型。 | + +## PositionType10+ + +枚举,文件位置,表示文件在本地或云端。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +| 名称 | 值 | 说明 | +| ----- | ---- | ---- | +| LOCAL | 1 | 文件只存在于本端设备。 | +| CLOUD | 2 | 文件只存在于云端。 | +| BOTH | 3 | 文件在本地和云中都存在。 | + +## AlbumType10+ + +枚举,相册类型,表示是用户相册还是系统预置相册。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +| 名称 | 值 | 说明 | +| ----- | ---- | ---- | +| USER | 0 | 用户相册。 | +| SYSTEM | 1024 | 系统预置相册。 | + +## AlbumSubType10+ + +枚举,相册子类型,表示具体的相册类型。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core | 名称 | 值 | 说明 | | ----- | ---- | ---- | -| IMAGE | 1 | 图片 | -| VIDEO | 2 | 视频 | -| AUDIO | 3 | 音频 | +| USER_GENERIC | 1 | 用户相册。 | +| FAVORITE | 1025 | 收藏夹。 | +| VIDEO | 1026 | 视频相册。 | +| HIDDEN | 1027 | 隐藏相册。 | +| TRASH | 1028 | 回收站。 | +| SCREENSHOT | 1029 | 截屏和录屏相册。 | +| CAMERA | 1030 | 相机拍摄的照片和视频相册。 | +| ANY | 2147483647 | 任意相册。 | ## PrivateAlbumType 枚举,系统相册类型。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core | 名称 | 值 | 说明 | | ----- | ---- | ---- | -| TYPE_FAVORITE | 0 | 收藏夹相册 | -| TYPE_TRASH | 1 | 回收站相册 | +| TYPE_FAVORITE | 0 | 收藏夹相册。 | +| TYPE_TRASH | 1 | 回收站相册。 | ## AudioKey 枚举,音频文件关键信息。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**: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 | 收藏 | +| 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 +**系统能力**: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 | 收藏 | +| 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 | 收藏。 | +| POSITION10+ | position | 文件位置类型。 | +| DATE_TRASHED10+ | date_trashed | 删除日期(删除文件时间距1970年1月1日的秒数值)。 | +| HIDDEN10+ | hidden | 文件的隐藏状态。 | ## AlbumKey 枚举,相册关键信息。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**: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日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) | +| 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日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。 | + +## PhotoCreateOptions10+ + +图片或视频的创建选项。 + +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------- | ---- | ------------------------------------------------ | +| subType | [PhotoSubType](#photosubtype10) | 否 | 图片或者视频的子类型。 | ## FetchOptions 检索条件。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core | 名称 | 类型 | 可读 | 可写 | 说明 | | ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ | -| fetchColumns | Array<string> | 是 | 是 | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType。示例:
fetchColumns: "uri"| -| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是 | 是 | 谓词查询,显示过滤条件 | +| fetchColumns | Array<string> | 是 | 是 | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType(具体字段名称以检索对象定义为准)。示例:
fetchColumns: ['uri', 'title']。 | +| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是 | 是 | 谓词查询,显示过滤条件。 | ## AlbumFetchOptions 相册检索条件。 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core +**系统能力**:SystemCapability.FileManagement.UserFileManager.Core | 名称 | 类型 | 可读 | 可写 | 说明 | | ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ | -| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是 | 是 | 谓词查询,显示过滤条件 | +| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是 | 是 | 谓词查询,显示过滤条件。 |