diff --git a/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md b/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md
new file mode 100644
index 0000000000000000000000000000000000000000..06cc8523579c2ae03a8663ad3eb8c167bbd10685
--- /dev/null
+++ b/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md
@@ -0,0 +1,1909 @@
+媒体库管理
+==========
+> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
+> 该组件从API Version 6开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
+
+ 导入模块
+---------
+
+```
+import mediaLibrary from '@ohos.multimedia.medialibrary';
+```
+
+## mediaLibrary.getMediaLibrary
+
+getMediaLibrary(context: Context): MediaLibrary
+
+获取媒体库的实例,用于访问和修改用户的个人数据信息。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------- | ------- | ---- | -------------------- |
+| context | Context | 是 | API7以下接口可不传此参数,API 8以上接口此参数是必填参数,传入Ability实例的context,获取媒体库 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------ | :----- |
+| [MediaLibrary](#medialibrary) | 媒体库实例 |
+
+**示例:**
+
+```
+import featureAbility from '@ohos.ability.featureAbility';
+
+var context = featureAbility.getContext()
+var media = mediaLibrary.getMediaLibrary(context);
+```
+## MediaLibrary
+
+### getFileAssets8+
+
+
+getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileResult>): void
+
+获取文件资源,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------- | ---- | --------------------------------- |
+| options | [MediaFetchOptions](#mediafetchoptions8) | 是 | 文件获取选项 |
+| callback | AsyncCallback<[FetchFileResult](#fetchfileresult8)> | 是 | 异步获取FetchFileResult之后的回调 |
+
+**示例:**
+
+```
+let fileKeyObj = mediaLibrary.FileKey
+let imageType = mediaLibrary.MediaType.IMAGE
+let imagesfetchOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+};
+mediaLibrary.getFileAssets(imagesfetchOp, (error, fetchFileResult) => {
+ if (fetchFileResult != undefined) {
+ console.info('mediaLibraryTest : ASSET_CALLBACK fetchFileResult success');
+ fetchFileResult.getAllObject((err, fileAssetList) => {
+ if (fileAssetList != undefined) {
+ fileAssetList.forEach(getAllObjectInfo);
+ }
+ });
+ }
+});
+```
+### getFileAssets8+
+
+getFileAssets(options: MediaFetchOptions): Promise<FetchFileResult>
+
+获取文件资源,使用Promise方式返回结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------- | ---------------------------------------- | ---- | ------------ |
+| options | [MediaFetchOptions](#mediafetchoptions8) | 是 | 文件检索选项 |
+
+**返回值**
+
+| 类型 | 说明 |
+| ----------------------------- | -------------- |
+| [FetchFileResult](#fetchfileresult8) | 文件数据结果集 |
+
+**示例:**
+
+```
+let fileKeyObj = mediaLibrary.FileKey
+let imageType = mediaLibrary.MediaType.IMAGE
+let imagesfetchOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+};
+mediaLibrary.getFileAssets(imagesfetchOp).then(function(fetchFileResult){
+ console.info("getFileAssets successfully:"+ JSON.stringify(dir));
+}).catch(function(err){
+ console.info("getFileAssets failed with error:"+ err);
+});
+```
+
+### on8+
+
+on(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback: Callback<void>): void
+
+打开媒体媒体库变更通知,使用callback方式返回异步结果。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------- | ---- | ------------------- |
+| type | string | 是 | 媒体类型
'deviceChange': 注册设备变更
'albumChange': 相册变更
'imageChange': 图片文件变更
'audioChange': 音频文件变更
'videoChange': 视频文件变更
'fileChange': 文件变更
'remoteFileChange': 注册设备上文件变更 |
+| callback | callback<void> | 是 | 回调返回空 |
+
+**示例:**
+
+```
+mediaLibrary.on('imageChange', () => {
+ // image file had changed, do something
+})
+```
+### off8+
+
+off(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback?: Callback<void>): void
+
+关闭媒体媒体库变更通知,使用callback方式返回异步结果。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------- | ---- | ------------------- |
+| type | string | 是 | 媒体类型
'deviceChange': 注册设备变更
'albumChange': 相册变更
'imageChange': 图片文件变更
'audioChange': 音频文件变更
'videoChange': 视频文件变更
'fileChange': 文件变更
'remoteFileChange': 注册设备上文件变更 |
+| callback | callback<void> | 否 | 回调返回空 |
+
+**示例:**
+
+```
+mediaLibrary.off('imageChange', () => {
+ // stop listening success
+})
+```
+
+### createAsset 8+
+
+createAsset(mediaType: MediaType, displayName: string, relativePath: string, callback: AsyncCallback<FileAsset>): void
+
+创建媒体资源,使用callback方式返回结果。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | --------------------------------------- | ---- | ------------------------------------------------------------ |
+| mediaType | [MediaType](#mediatype) | 是 | 媒体类型 |
+| displayName | string | 是 | 展示文件名 |
+| relativePath | string | 是 | 文件保存路径,可以通过[getPublicDirectory](#getpublicdirectory8)获取不同类型文件的保存路径 |
+| callback | AsyncCallback<[FileAsset](#fileasset8)> | 是 | 异步获取媒体数据FileAsset之后的回调 |
+
+**示例:**
+
+```
+async function example() {
+ // 使用Callback方式创建Image类型文件
+ let mediaType = mediaLibrary.MediaType.IMAGE;
+ let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE;
+ const path = await media.getPublicDirectory(DIR_IMAGE);
+ mediaLibrary.createAsset(mediaType, 'imageCallBack.jpg', path + 'myPicture/', (err, fileAsset) => {
+ if (fileAsset != undefined) {
+ console.info('createAsset successfully, message = ' + err);
+ } else {
+ console.info('createAsset failed, message = ' + err);
+ }
+ });
+}
+```
+
+### createAsset8+
+
+createAsset(mediaType: MediaType, displayName: string, relativePath: string): Promise<FileAsset>
+
+创建媒体资源,使用Promise方式返回结果。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | ----------------------- | ---- | ------------------------------------------------------------ |
+| mediaType | [MediaType](#mediatype) | 是 | 媒体类型 |
+| displayName | string | 是 | 展示文件名 |
+| relativePath | string | 是 | 相对路径,可以通过getPublicDirectory获取不同类型媒体文件的一层目录的relative path |
+
+**返回值**
+
+| 类型 | 说明 |
+| ------------------------ | ----------------- |
+| [FileAsset](#fileasset8) | 媒体数据FileAsset |
+
+**示例:**
+
+```
+async function example() {
+ // 使用Promise方式创建Image类型文件
+ let mediaType = mediaLibrary.MediaType.IMAGE;
+ let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE;
+ const path = await media.getPublicDirectory(DIR_IMAGE);
+ mediaLibrary.createAsset(mediaType, "image01.jpg", path + 'myPicture/').then (function (asset) {
+ console.info("createAsset successfully:"+ JSON.stringify(asset));
+ }).catch(function(err){
+ console.info("createAsset failed with error:"+ err);
+ });
+}
+```
+
+### getPublicDirectory8+
+
+getPublicDirectory(type: DirectoryType, callback: AsyncCallback<string>): void
+
+获取公共目录路径,使用callback方式返回结果。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------------------------------- | ---- | ------------ |
+| type | [DirectoryType](#directorytype) | 是 | 公共目录类型 |
+| callback |AsyncCallback<string> | 是 | callback 返回公共目录路径 |
+
+**示例:**
+
+```
+let DIR_CAMERA = mediaLibrary.DirectoryType.DIR_CAMERA;
+media.getPublicDirectory(DIR_CAMERA, (err, dicResult) => {
+ if (dicResult == 'Camera/') {
+ console.info('mediaLibraryTest : getPublicDirectory passed');
+ } else {
+ console.info('mediaLibraryTest : getPublicDirectory failed');
+ }
+});
+```
+
+### getPublicDirectory8+
+
+getPublicDirectory(type: DirectoryType): Promise<string>
+
+获取公共目录路径,使用Promise方式返回结果。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------------------------------- | ---- | ------------ |
+| type | [DirectoryType](#directorytype) | 是 | 公共目录类型 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------- | ---------------- |
+| Promise | 返回公共目录路径 |
+
+**示例:**
+
+```
+async function example() {
+ let DIR_CAMERA = mediaLibrary.DirectoryType.DIR_CAMERA;
+ const dicResult = await media.getPublicDirectory(DIR_CAMERA);
+ if (dicResult == 'Camera/') {
+ console.info('MediaLibraryTest : getPublicDirectory');
+ } else {
+ console.info('MediaLibraryTest : getPublicDirectory failed');
+ }
+}
+```
+
+### getAlbums8+
+
+getAlbums(options: MediaFetchOptions, callback: AsyncCallback): void
+
+获取相册列表,使用callback 方式返回结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------------------------------------------- | ---- | --------------------------- |
+| options | [MediaFetchOptions](#mediafetchoptions8) | 是 | 相册获取条件 |
+| callback | AsyncCallback<Array<[Album](#album8)>> | 是 | 异步获取Album列表之后的回调 |
+
+**示例:**
+
+```
+let AlbumNoArgsfetchOp = {
+ selections: '',
+ selectionArgs: [],
+};
+mediaLibrary.getAlbums(AlbumNoArgsfetchOp, (err, albumList) => {
+ if (albumList != undefined) {
+ const album = albumList[0];
+ console.info('album.albumName = ' + album.albumName);
+ console.info('album.count = ' + album.count);
+ } else {
+ console.info('getAlbum fail, message = ' + err);
+ }
+})
+```
+
+### getAlbums8+
+
+getAlbums(options: MediaFetchOptions): Promise
+
+获取相册列表,使用 promise 方式返回结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------- | ---------------------------------------- | ---- | ------------ |
+| options | [MediaFetchOptions](#mediafetchoptions8) | 是 | 相册获取条件 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------------------------------- | ------------- |
+| Promise> | 返回Album列表 |
+
+**示例:**
+
+```
+let AlbumNoArgsfetchOp = {
+ selections: '',
+ selectionArgs: [],
+};
+mediaLibrary.getAlbums(AlbumNoArgsfetchOp).then(function(albumList){
+ console.info("getAlbums successfully:"+ JSON.stringify(albumList));
+}).catch(function(err){
+ console.info("getAlbums failed with error:"+ err);
+});
+```
+
+### release8+
+
+release(callback: AsyncCallback<void>): void
+
+释放MediaLibrary实例。
+当后续不需要使用MediaLibrary实例中的方法时调用。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ------------------- | ---- | ---------------------- |
+| callback | AsyncCallback<void> | 是 | 回调表示成功还是失败 |
+
+**示例:**
+
+```
+var media = mediaLibrary.getMediaLibrary(context);
+media.release((err) => {
+ // do something
+});
+```
+
+### release8+
+
+release(): Promise<void>
+
+释放MediaLibrary实例。
+当后续不需要使用MediaLibrary实例中的方法时调用。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------------- |
+| Promise<void> | Promise实例,用于获取异步返回结果 |
+
+**示例:**
+
+```
+var media = mediaLibrary.getMediaLibrary(context);
+media.release()
+```
+
+## FileAsset8+
+
+提供封装文件属性的方法。
+
+### **属性**
+
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ------------ | ----------------------- | ---- | ---- | ------------------------------------------------------ |
+| id | number | 是 | 否 | 文件资源编号 |
+| uri | string | 是 | 否 | 文件资源uri(如:dataability:///media/image/2) |
+| mimeType | string | 是 | 否 | 文件扩展属性 |
+| mediaType | [MediaType](#mediatype) | 是 | 否 | 媒体类型 |
+| displayName | string | 是 | 是 | 显示文件名,包含后缀名 |
+| title | string | 是 | 是 | 文件标题 |
+| relativePath | string | 是 | 是 | 相对公共目录路径 |
+| parent | number | 是 | 否 | 父目录id |
+| size | number | 是 | 否 | 文件大小(单位:字节) |
+| dateAdded | number | 是 | 否 | 添加日期(添加文件时间到1970年1月1日的秒数值) |
+| dateModified | number | 是 | 否 | 修改日期(修改文件时间到1970年1月1日的秒数值) |
+| dateTaken | number | 是 | 否 | 拍摄日期(文件拍照时间到1970年1月1日的秒数值) |
+| artist | string | 是 | 否 | 作者 |
+| audioAlbum | string | 是 | 否 | 专辑 |
+| width | number | 是 | 否 | 图片宽度(单位:像素) |
+| height | number | 是 | 否 | 图片高度(单位:像素) |
+| orientation | number | 是 | 是 | 图片显示方向(顺时针旋转角度,如0,90,180 单位:度) |
+| duration | number | 是 | 否 | 持续时间(单位:秒) |
+| albumId | number | 是 | 否 | 文件所归属的相册编号 |
+| albumUri | string | 是 | 否 | 文件所归属相册uri |
+| albumName | string | 是 | 否 | 文件所归属相册名称 |
+
+
+### isDirectory8+
+
+isDirectory(callback: AsyncCallback<boolean>): void
+
+判断fileAsset是否为目录,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | ----------------------------- |
+| callback | AsyncCallback<boolean> | 是 | 当前FileAsset是否是目录的回调 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.isDirectory((err, isDirectory) => {
+ // do something
+ });
+}
+```
+
+### isDirectory8+
+
+isDirectory():Promise<boolean>
+
+判断fileAsset是否为目录,使用Promise方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| ---------------- | ------------------------------------------ |
+| Promise<boolean> | Promise实例,返回当前FileAsset是否是目录 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.isDirectory().then(function(isDirectory){
+ console.info("isDirectory result:"+ isDirectory);
+ }).catch(function(err){
+ console.info("isDirectory failed with error:"+ err);
+ });
+}
+```
+
+### commitModify8+
+
+commitModify(callback: AsyncCallback<void>): void
+
+修改文件的元数据,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | -------------------- |
+| callback | AsyncCallback<void> | 是 | 回调返回空 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.title = 'newtitle';
+ asset.commitModify(() => {
+ console.info('commitModify success');
+ });
+}
+```
+
+### commitModify8+
+
+commitModify(): Promise<void>
+
+修改文件的元数据,使用promise方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------- |
+| Promise<void> | Promise返回空 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.title = 'newtitle';
+ asset.commitModify();
+}
+```
+
+### open8+
+
+open(mode: string, callback: AsyncCallback<number>): void
+
+打开当前文件,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA('r'模式打开),ohos.permission.WRITE_MEDIA('w'模式打开)
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | -------------------- |
+| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
+| callback | AsyncCallback<number> | 是 | 回调返回文件句柄 |
+
+**示例:**
+
+```
+async function example() {
+ let mediaType = mediaLibrary.MediaType.IMAGE;
+ let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE;
+ const path = await media.getPublicDirectory(DIR_IMAGE);
+ asset = await media.createAsset(mediaType, "image00003.jpg", path);
+ asset.open('rw', (openError, fd) => {
+ if(fd > 0){
+ asset.close(fd);
+ }else{
+ console.info('File Open Failed!' + openError);
+ }
+ });
+}
+```
+
+### open8+
+
+open(mode: string): Promise<number>
+
+打开当前文件,使用promise方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA('r'模式打开),ohos.permission.WRITE_MEDIA('w'模式打开)
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | -------------------------------------------------------- |
+| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------- |
+| Promise<number> | Promise返回文件句柄 |
+
+**示例:**
+
+```
+async function example() {
+ let mediaType = mediaLibrary.MediaType.IMAGE;
+ let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE;
+ const path = await media.getPublicDirectory(DIR_IMAGE);
+ asset = await media.createAsset(mediaType, "image00003.jpg", path);
+ asset.open('rw').then((openError, fd) => {
+ if(fd > 0){
+ asset.close(fd);
+ }else{
+ console.info('File Open Failed!' + openError);
+ }
+ });
+}
+```
+
+### close8+
+
+close(fd: number, callback: AsyncCallback<void>): void
+
+关闭当前文件,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA('r'模式打开),ohos.permission.WRITE_MEDIA('w'模式打开)
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | -------------------- |
+| fd | number | 是 | 文件描述符 |
+| callback | AsyncCallback<void> | 是 | 回调返回空 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.close(fd, (closeErr) => {
+ if (closeErr != undefined) {
+ console.info('mediaLibraryTest : close : FAIL ' + closeErr.message);
+ console.info('mediaLibraryTest : ASSET_CALLBACK : FAIL');
+ } else {
+ console.info("=======asset.close success====>");
+ }
+ });
+}
+```
+
+### close8+
+
+close(fd: number): Promise<void>
+
+关闭当前文件,使用promise方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA('r'模式打开),ohos.permission.WRITE_MEDIA('w'模式打开)
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | ---------- |
+| fd | number | 是 | 文件描述符 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------- |
+| Promise<void> | Promise返回空 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.close(fd).then((closeErr) => {
+ if (closeErr != undefined) {
+ console.info('mediaLibraryTest : close : FAIL ' + closeErr.message);
+ console.info('mediaLibraryTest : ASSET_CALLBACK : FAIL');
+
+ } else {
+ console.info("=======asset.close success====>");
+ }
+ });
+}
+```
+
+### getThumbnail8+
+
+getThumbnail(callback: AsyncCallback<image.PixelMap>): void
+
+获取文件的缩略图,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | -------------------- |
+| callback | AsyncCallback<image.PixelMap> | 是 | 回调返回缩略图的PixelMap |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.getThumbnail((err, pixelmap) => {
+ console.info('mediaLibraryTest : getThumbnail Successfull '+ pixelmap);
+ });
+}
+```
+
+### getThumbnail8+
+
+getThumbnail(size: Size, callback: AsyncCallback<image.PixelMap>): void
+
+获取文件的缩略图,传入缩略图尺寸,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | -------------------- |
+| size | [Size](#size8) | 是 | 缩略图尺寸 |
+| callback | AsyncCallback<image.PixelMap> | 是 | 回调返回缩略图的PixelMap |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.getThumbnail(size, (err, pixelmap) => {
+ console.info('mediaLibraryTest : getThumbnail Successfull '+ pixelmap);
+ });
+}
+```
+
+### getThumbnail8+
+
+getThumbnail(size?: Size): Promise<image.PixelMap>
+
+获取文件的缩略图,传入缩略图尺寸,使用promise方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | -------------- | ---- | ---------- |
+| size | [Size](#size8) | 否 | 缩略图尺寸 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------- |
+| Promise<image.PixelMap> | Promise返回缩略图的PixelMap |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.getThumbnail(size, (err, pixelmap) => {
+ console.info('mediaLibraryTest : getThumbnail Successfull '+ pixelmap);
+ });
+}
+```
+
+### favorite8+
+
+favorite(isFavorite: boolean, callback: AsyncCallback<void>): void
+
+将文件设置为收藏文件,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ---------- | ------------------- | ---- | -------------- |
+| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
+| callback | AsyncCallback<void> | 是 | 回调返回空 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.favorite(true,function(err){
+ // do something
+ });
+}
+```
+
+### favorite8+
+
+favorite(isFavorite: boolean): Promise<void>
+
+将文件设置为收藏文件,使用promise方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ---------- | ------- | ---- | ---------------------------------------------------------- |
+| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------- |
+| Promise<void> | Promise返回空 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.favorite(true).then(function() {
+ console.info("favorite successfully");
+ }).catch(function(err){
+ console.info("favorite failed with error:"+ err);
+ });
+}
+```
+
+### isFavorite8+
+
+isFavorite(callback: AsyncCallback<boolean>): void
+
+判断该文件是否为收藏文件,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | ---------------------- |
+| callback | AsyncCallback<boolean> | 是 | 回调表示是否为收藏文件 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.isFavorite((err, isFavorite) => {
+ if (isFavorite) {
+ console.info('FileAsset is favorite');
+ }else{
+ console.info('FileAsset is not favorite');
+ }
+ });
+}
+```
+
+### isFavorite8+
+
+isFavorite():Promise<boolean>
+
+判断该文件是否为收藏文件,使用promise方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------- |
+| Promise<boolean> | Promise回调表示是否是收藏文件 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.isFavorite().then(function(isFavorite){
+ console.info("isFavorite result:"+ isFavorite);
+ }).catch(function(err){
+ console.info("isFavorite failed with error:"+ err);
+ });
+}
+```
+
+### trash8+
+
+trash(isTrash: boolean, callback: AsyncCallback<void&g;): void
+
+当文件被定位时,将文件放到垃圾文件夹,使用callback方式返回异步结果。
+
+放入垃圾文件夹的文件不会被真正删除,可以通过isTrash = false参数恢复成正常文件。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | -------------------- |
+| isTrash | boolean | 是 | 是否设置为垃圾文件 |
+| callback | AsyncCallback<void> | 是 | 回调返回空 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.trash(true, trashCallBack);
+ function trashCallBack(err, trash) {
+ console.info('mediaLibraryTest : ASSET_CALLBACK ASSET_CALLBACK trash');
+ }
+}
+```
+
+### trash8+
+
+trash(isTrash: boolean,): Promise<void>
+
+当文件被定位时,将文件放到垃圾文件夹,使用promise方式返回异步结果。
+
+放入垃圾文件夹的文件不会被真正删除,可以通过isTrash = false参数恢复成正常文件。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------- | ------- | ---- | ------------------ |
+| isTrash | boolean | 是 | 是否设置为垃圾文件 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------- |
+| Promise<void> | Promise返回空 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.trash(true).then(function() {
+ console.info("trash successfully");
+ }).catch(function(err){
+ console.info("trash failed with error:"+ err);
+ });
+}
+```
+
+### isTrash8+
+
+isTrash(callback: AsyncCallback<boolean>): void
+
+当文件被定位,判断文件是否为垃圾文件,使用callback方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | ---------------------- | ---- | -------------------- |
+| callback | AsyncCallback<boolean> | 是 | 回调返回表示文件是否为垃圾文件 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.isTrash(isTrashCallBack);
+ function isTrashCallBack(err, isTrash) {
+ if (isTrash == true) {
+ console.info('mediaLibraryTest : ASSET_CALLBACK ASSET_CALLBACK isTrash = ' + isTrash);
+ asset.trash(true, trashCallBack);
+
+ } else {
+ console.info('mediaLibraryTest : ASSET_CALLBACK isTrash Unsuccessfull = ' + err);
+ console.info('mediaLibraryTest : ASSET_CALLBACK isTrash : FAIL');
+
+ }
+ }
+}
+```
+
+### isTrash8+
+
+isTrash():Promise<boolean>
+
+当文件被定位,判断文件是否为垃圾文件,使用promise方式返回异步结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------- | ----------------------------- |
+| Promise<void> | Promise回调表示文件是否为垃圾文件 |
+
+**示例:**
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ const fetchFileResult = await media.getFileAssets(getImageOp);
+ const asset = await fetchFileResult.getFirstObject();
+ asset.isTrash().then(function(isTrash){
+ console.info("isTrash result:"+ isTrash);
+ }).catch(function(err){
+ console.info("isTrash failed with error:"+ err);
+ });
+}
+```
+
+## FetchFileResult8+
+
+文件检索结果集。
+
+### getCount8+
+
+getCount(): number
+
+获取文件检索结果中的文件总数。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值**:
+
+| 类型 | 说明 |
+| ------ | ---------------- |
+| number | 检索到的文件总数 |
+
+**示例**:
+
+```
+async function example() {
+ let getFileCountOneOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [fileType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getFileCountOneOp);
+ const fetchCount = fetchFileResult.getCount();
+}
+```
+
+### isAfterLast8+
+
+isAfterLast(): boolean
+
+检查结果集是否指向最后一行。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值**:
+
+| 类型 | 说明 |
+| ------- | ----------------------------------------------------------- |
+| boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ const fetchCount = fetchFileResult.getCount();
+ console.info('mediaLibraryTest : count:' + fetchCount);
+ let fileAsset = await fetchFileResult.getFirstObject();
+ for (var i = 1; i < fetchCount; i++) {
+ fileAsset = await fetchFileResult.getNextObject();
+ if(i == fetchCount - 1) {
+ console.info('mediaLibraryTest : isLast');
+ var result = fetchFileResult.isAfterLast();
+ console.info('mediaLibraryTest : isAfterLast:' + result);
+ console.info('mediaLibraryTest : isAfterLast end');
+ fetchFileResult.close();
+
+ }
+ }
+}
+```
+
+### close8+
+
+close(): void
+
+释放 FetchFileResult 实例并使其失效。无法调用其他方法。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ fetchFileResult.close();
+}
+```
+
+### getFirstObject8+
+
+getFirstObject(callback: AsyncCallback<FileAsset>): void
+
+获取文件检索结果中的第一个文件资产。此方法使用回调返回FileAsset。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
+| callback | AsyncCallback<[FileAsset](#fileasset8)> | 是 | 异步获取结果集中第一个FileAsset完成后的回调 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ fetchFileResult.getFirstObject((err, value) => {
+ if (err) {
+ console.error('Failed ');
+ return;
+ }
+ console.log(value);
+ })
+}
+```
+
+### getFirstObject8+
+
+getFirstObject(): Promise<FileAsset>
+
+获取文件检索结果中的第一个文件资产。此方法使用返回FileAsset。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值**:
+
+| 类型 | 说明 |
+| ------------------ | -------------------------------------- |
+| Promise<[FileAsset](#fileasset8)> | Promise方式返回FileAsset |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ fetchFileResult.getFirstObject().then(function(fileAsset){
+ console.info("getFirstObject successfully:"+ JSON.stringify(fileAsset));
+ }).catch(function(err){
+ console.info("getFirstObject failed with error:"+ err);
+ });
+}
+```
+
+### getNextObject8+
+
+ getNextObject(callback: AsyncCallback<FileAsset>): void
+
+获取文件检索结果中的下一个文件资产。此方法使用callback形式返回结果。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数名 | 类型 | 必填 | 说明 |
+| --------- | --------------------------------------------- | ---- | ----------------------------------------- |
+| callbacke | AsyncCallback<[FileAsset](#fileasset8)> | 是 | 异步返回结果集中下一个FileAsset之后的回调 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ fetchFileResult.getNextObject((err, value) => {
+ if (err) {
+ console.error('Failed ');
+ return;
+ }
+ console.log(value);
+ })
+}
+```
+
+### getNextObject8+
+
+ getNextObject(): Promise<FileAsset>
+
+获取文件检索结果中的下一个文件资产。此方法使用promise方式来异步返回FileAsset。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值**:
+
+| 类型 | 说明 |
+| -------------------------------- | ------------------- |
+| Promise<[FileAsset](#fileasset8)> | 返回FileAsset对象 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ const fetchCount = fetchFileResult.getCount();
+ console.info('mediaLibraryTest : count:' + fetchCount);
+ fileAsset = await fetchFileResult.getNextObject();
+}
+```
+
+### getLastObject8+
+
+getLastObject(callback: AsyncCallback<FileAsset>): void
+
+获取文件检索结果中的最后一个文件资产。此方法使用callback回调来返回FileAsset。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------- | ---- | --------------------------- |
+| callback | AsyncCallback<[FileAsset](#fileasset8)> | 是 | 异步返回FileAsset之后的回调 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ fetchFileResult.getLastObject((err, value) => {
+ if (err) {
+ console.error('Failed ');
+ return;
+ }
+ console.log(value);
+ })
+}
+```
+
+### getLastObject8+
+
+getLastObject(): Promise<FileAsset>
+
+获取文件检索结果中的最后一个文件资产。此方法使用Promise方式来返回FileAsset。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值**:
+
+| 类型 | 说明 |
+| -------------------------------- | ------------------- |
+| Promise<[FileAsset](#fileasset8)> | 返回FileAsset对象 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ let lastObject = await fetchFileResult.getLastObject();
+}
+```
+
+### getPositionObject8+
+
+getPositionObject(index: number, callback: AsyncCallback<FileAsset>): void
+
+获取文件检索结果中具有指定索引的文件资产。此方法使用回调来返回FileAsset。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------- | ---- | --------------------------- |
+| index | number | 是 | 要获取的文件的索引,从0开始 |
+| callback | AsyncCallback<[FileAsset](#fileasset8)> | 是 | 异步返回FileAsset之后的回调 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ fetchFileResult.getPositionObject(0, (err, value) => {
+ if (err) {
+ console.error('Failed ');
+ return;
+ }
+ console.log(value);
+ })
+}
+```
+
+### getPositionObject8+
+
+getPositionObject(index: number): Promise<FileAsset>
+
+获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数 | 类型 | 必填 | 说明 |
+| ----- | ------ | ---- | -------------------- |
+| index | number | 是 | 要获取的文件的索引,从0开始 |
+
+**返回值**:
+
+| 类型 | 说明 |
+| -------------------------------- | ------------------- |
+| Promise<[FileAsset](#fileasset8)> | 返回FileAsset对象 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ fetchFileResult.getPositionObject(1, (err, value) => {
+ if (err) {
+ console.error('Failed ');
+ return;
+ }
+ console.log(value);
+ })
+}
+```
+
+### getAllObject8+
+
+getAllObject(callback: AsyncCallback<Array<FileAsset>>): void
+
+获取文件检索结果中的所有文件资产。此方法使用Callback回调来返回FileAsset结果集。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数 | 类型 | 必填 | 说明 |
+| -------- | ---------------------------------------------- | ---- | ------------------------------- |
+| callback | AsyncCallback> | 是 | 异步返回FileAsset列表之后的回调 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ fetchFileResult.getAllObject((err, value) => {
+ if (err) {
+ console.error('Failed ');
+ return;
+ }
+ console.log(value);
+ })
+}
+```
+
+### getAllObject8+
+
+getAllObject(): Promise<Array<FileAsset>>
+
+获取文件检索结果中的所有文件资产。此方法使用Promise来返回FileAsset结果集。
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值**:
+
+| 类型 | 说明 |
+| ---------------------------------------- | --------------------- |
+| Promise> | 返回FileAsset对象列表 |
+
+**示例**:
+
+```
+async function example() {
+ let imageType = mediaLibrary.MediaType.IMAGE;
+ let getImageOp = {
+ selections: fileKeyObj.MEDIA_TYPE + '= ?',
+ selectionArgs: [imageType.toString()],
+ order: fileKeyObj.DATE_ADDED + " DESC",
+ extendArgs: "",
+ };
+ let fetchFileResult = await media.getFileAssets(getImageOp);
+ var data = fetchFileResult.getAllObject();
+}
+```
+
+## Album8+
+
+实体相册
+
+### **属性**
+
+| 名称 | 参数型 | 可读 | 可写 | 说明 |
+| ------------ | ------ | ---- | ---- | -------------- |
+| albumId | number | 是 | 否 | 相册编号 |
+| albumName | string | 是 | 是 | 相册名称 |
+| albumUri | string | 是 | 否 | 相册Uri |
+| dateModified | number | 是 | 否 | 修改日期 |
+| count | number | 是 | 否 | 相册中文件数量 |
+| relativePath | string | 是 | 否 | 相对路径 |
+| coverUri | string | 是 | 否 | 封面文件Uri |
+
+### commitModify8+
+
+commitModify(callback: AsyncCallback<void>): void
+
+更新相册属性修改到数据库中。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数 | 类型 | 必填 | 说明 |
+| -------- | ------------------- | ---- | ----------------------------- |
+| callback | AsyncCallback<void> | 是 | 回调返回空 |
+
+**示例**:
+
+```
+async function example() {
+ let AlbumNoArgsfetchOp = {
+ selections: '',
+ selectionArgs: [],
+ };
+ const albumList = await media.getAlbums(AlbumNoArgsfetchOp);
+ const album = albumList[0];
+ album.albumName = 'hello';
+ album.commitModify((err) => {
+ if (err) {
+ console.error('Failed ');
+ return;
+ }
+ console.log('Modify successful.');
+ })
+}
+```
+
+### commitModify8+
+
+commitModify(): Promise<void>
+
+更新相册属性修改到数据库中。
+
+**需要权限**:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**返回值**:
+
+| 类型 | 说明 |
+| ------------- | ---------------------------------------------------- |
+| Promise<void> | Promise调用返回空 |
+
+**示例**:
+
+```
+async function example() {
+ let AlbumNoArgsfetchOp = {
+ selections: '',
+ selectionArgs: [],
+ };
+ const albumList = await media.getAlbums(AlbumNoArgsfetchOp);
+ const album = albumList[0];
+ album.albumName = 'hello';
+ album.commitModify().then(function() {
+ console.info("commitModify successfully");
+ }).catch(function(err){
+ console.info("commitModify failed with error:"+ err);
+ });
+}
+```
+
+### getFileAssets8+
+
+getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileResult>): void
+
+按照检索条件获取相册中的文件。此方法使用Callback回调来返回文件结果集。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数 | 类型 | 必填 | 说明 |
+| -------- | -------------------------------------------- | ---- | --------------------------------- |
+| options | [MediaFetchOptions](#mediafetchoptions8) | 是 | 媒体检索选项 |
+| callback | AsyncCallback<[FetchFileResult](#fetchfileresult8)> | 是 | 异步返回FetchFileResult之后的回调 |
+
+**示例**:
+
+```
+async function example() {
+ let AlbumNoArgsfetchOp = {
+ selections: '',
+ selectionArgs: [],
+ };
+ const albumList = await media.getAlbums(AlbumNoArgsfetchOp);
+ const album = albumList[0];
+ album.getFileAssets(fileNoArgsfetchOp, getFileAssetsCallBack);
+ function getFileAssetsCallBack(err, fetchFileResult) {
+ // do something
+ }
+}
+```
+
+### getFileAssets8+
+
+ getFileAssets(options?: MediaFetchOptions): Promise<FetchFileResult>
+
+按照检索条件获取相册中的文件。此方法使用异步回调来返回文件结果集。
+
+**需要权限**:ohos.permission.READ_MEDIA
+
+**系统能力**:SystemCapability.Multimedia.MediaLibrary.Core
+
+**参数**:
+
+| 参数 | 类型 | 必填 | 说明 |
+| ------- | ---------------------------------------- | ---- | ------------ |
+| options | [MediaFetchOptions](#mediafetchoptions8) | 否 | 媒体检索选项 |
+
+**返回值**:
+
+| 类型 | 说明 |
+| --------------------------------------------- | ----------------------- |
+| Promise<[FetchFileResult](#fetchfileresult8)> | 返回FetchFileResult对象 |
+
+**示例**:
+
+```
+async function example() {
+ let AlbumNoArgsfetchOp = {
+ selections: '',
+ selectionArgs: [],
+ };
+ const albumList = await media.getAlbums(AlbumNoArgsfetchOp);
+ const album = albumList[0];
+ album.getFileAssets(fileNoArgsfetchOp).then(function(albumFetchFileResult){
+ console.info("getFileAssets successfully:"+ JSON.stringify(albumFetchFileResult));
+ }).catch(function(err){
+ console.info("getFileAssets failed with error:"+ err);
+ });
+}
+```
+
+## PeerInfo8+
+
+注册设备的信息。
+
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ---------- | ---------- | ---- | ---- | ---------------- |
+| deviceName | string | 是 | 否 | 注册设备的名称 |
+| networkId | string | 是 | 否 | 注册设备的网络ID |
+| deviceType | DeviceType | 是 | 否 | 设备类型 |
+| isOnline | boolean | 是 | 否 | 是否在线 |
+
+
+
+MediaType
+---------
+
+枚举,媒体类型。
+
+| 名称 | 默认值 | 描述 |
+| ----- | ------ | ---- |
+| FILE | 0 | 文件 |
+| IMAGE | 1 | 图片 |
+| VIDEO | 2 | 视频 |
+| AUDIO | 3 | 音频 |
+
+FileKey
+-------
+
+枚举,文件关键信息。
+
+| 名称 | 默认值 | 描述 |
+| ------------- | ------------------- | ---------------------------------------------------------- |
+| ID | file_id | 文件编号 |
+| RELATIVE_PATH | relative_path | 相对公共目录路径 |
+| DISPLAY_NAME | display_name | 显示名字 |
+| PARENT | parent | 父目录id |
+| MIME_TYPE | mime_type | 文件扩展属性 |
+| MEDIA_TYPE | media_type | 媒体类型 |
+| SIZE | size | 文件大小(单位:字节) |
+| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
+| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
+| DATE_TAKEN | date_taken | 拍摄日期(文件拍照时间到1970年1月1日的秒数值) |
+| TITLE | title | 文件标题 |
+| ARTIST | artist | 作者 |
+| AUDIOALBUM | audio_album | 专辑 |
+| DURATION | duration | 持续时间(单位:秒) |
+| WIDTH | width | 图片宽度(单位:像素) |
+| HEIGHT | height | 图片高度(单位:像素) |
+| ORIENTATION | orientation | 图片显示方向,即顺时针旋转角度,如0,90,180。(单位:度) |
+| ALBUM_ID | bucket_id | 文件所归属的相册编号 |
+| ALBUM_NAME | bucket_display_name | 文件所归属相册名称 |
+
+DirectoryType
+-------------
+
+枚举,目录类型。
+
+| 名称 | 默认值 | 描述 |
+| ------------- | ------ | ------------------ |
+| DIR_CAMERA | 0 | 表示Camera文件路径 |
+| DIR_VIDEO | 1 | 表示视频路径 |
+| DIR_IMAGE | 2 | 表示图片路径 |
+| DIR_AUDIO | 3 | 表示音频路径 |
+| DIR_DOCUMENTS | 4 | 表示文档路径 |
+| DIR_DOWNLOAD | 5 | 表示下载路径 |
+
+DeviceType
+-----------
+
+枚举,设备类型。
+
+| 名称 | 默认值 | 描述 |
+| ------------ | ------ | ---------- |
+| TYPE_UNKNOWN | 0 | 未识别设备 |
+| TYPE_LAPTOP | 1 | 笔记本电脑 |
+| TYPE_PHONE | 2 | 手机 |
+| TYPE_TABLET | 3 | 平板电脑 |
+| TYPE_WATCH | 4 | 智能手表 |
+| TYPE_CAR | 5 | 车载设备 |
+| TYPE_TV | 6 | 电视设备 |
+
+## MediaFetchOptions8+
+
+检索条件。
+
+| 名称 | 类型 | 可读 | 可写 | 必填 |说明 |
+| ------------- | ------------- | ---- | ---- | ---- |---------------- |
+| selections | string | 是 | 是 |是 | 检索条件,使用[FileKey](#filekey)中的枚举值作为检索条件的列名。示例:
selections: mediaLibrary.FileKey.MEDIA_TYPE + '= ? OR' +mediaLibrary.FileKey.MEDIA_TYPE + '= ?‘, |
+| selectionArgs | Array<string> | 是 | 是 |是 | 检索条件的值,对应selections中检索条件列的值。
示例:
selectionArgs: [mediaLibrary.MediaType.IMAGE.toString(), mediaLibrary.MediaType.VIDEO.toString()], |
+| order | string | 是 | 是 | 否 |检索结果排序方式,使用[FileKey](#filekey)中的枚举值作为检索结果排序的列,可以用升序或降序排列。示例:
升序排列:order: mediaLibrary.FileKey.DATE_ADDED + " AESC"
降序排列:order: mediaLibrary.FileKey.DATE_ADDED + " DESC" |
+| uri | string | 是 | 是 | 否 |文件URI |
+| networkId | string | 是 | 是 | 否 |注册设备网络ID |
+| extendArgs | string | 是 | 是 | 否 |扩展的检索参数,目前没有扩展检索参数 |
+
+## Size8+
+
+图片尺寸。
+
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ------ | ------ | ---- | ---- | ---------------- |
+| width | number | 是 | 是 | 宽(单位:像素) |
+| height | number | 是 | 是 | 高(单位:像素) |
+