diff --git a/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md b/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md index 1d6db241ef0070ab2f48b4890b5b708314bce895..2fdcde2330a51f4feb1d8ca0041e5c2d300b6da2 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md +++ b/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md @@ -94,23 +94,42 @@ getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileRe ```js let fileKeyObj = mediaLibrary.FileKey; let imageType = mediaLibrary.MediaType.IMAGE; -let imagesfetchOp = { +let imagesFetchOp = { selections: fileKeyObj.MEDIA_TYPE + '= ?', selectionArgs: [imageType.toString()], }; -media.getFileAssets(imagesfetchOp, (error, fetchFileResult) => { - if (fetchFileResult != undefined) { - console.info('mediaLibraryTest : ASSET_CALLBACK fetchFileResult success'); - for (let i = 0; i < fetchFileResult.getCount(); i++) { +media.getFileAssets(imagesFetchOp, (error, fetchFileResult) => { + if (fetchFileResult == undefined) { + console.error('Failed to get fetchFileResult: ' + error); + return; + } + const count = fetchFileResult.getCount(); + if (count < 0) { + console.error('Failed to get count from fetchFileResult: count: ' + count); + return; + } + if (count == 0) { + console.info('The count of fetchFileResult is zero'); + return; + } + + console.info('Get fetchFileResult success, count: ' + count); + fetchFileResult.getFirstObject((err, fileAsset) => { + if (fileAsset == undefined) { + console.error('Failed to get first object: ' + err); + return; + } + console.log('fileAsset.displayName ' + ': ' + fileAsset.displayName); + for (let i = 1; i < count; i++) { fetchFileResult.getNextObject((err, fileAsset) => { - if (err) { - console.error('Failed '); - return; - } - console.log('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); + if (fileAsset == undefined) { + console.error('Failed to get next object: ' + err); + return; + } + console.log('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); }) - } - } + } + }); }); ``` ### getFileAssets7+ @@ -140,14 +159,35 @@ getFileAssets(options: MediaFetchOptions): Promise<FetchFileResult> ```js let fileKeyObj = mediaLibrary.FileKey; let imageType = mediaLibrary.MediaType.IMAGE; -let imagesfetchOp = { +let imagesFetchOp = { selections: fileKeyObj.MEDIA_TYPE + '= ?', selectionArgs: [imageType.toString()], }; -media.getFileAssets(imagesfetchOp).then(function(fetchFileResult){ - console.info("getFileAssets successfully: image number is "+ fetchFileResult.getCount()); +media.getFileAssets(imagesFetchOp).then(function(fetchFileResult) { + const count = fetchFileResult.getCount(); + if (count < 0) { + console.error('Failed to get count from fetchFileResult: count: ' + count); + return; + } + if (count == 0) { + console.info('The count of fetchFileResult is zero'); + return; + } + console.info('Get fetchFileResult success, count: ' + count); + fetchFileResult.getFirstObject().then(function(fileAsset) { + console.log('fileAsset.displayName ' + ': ' + fileAsset.displayName); + for (let i = 1; i < count; i++) { + fetchFileResult.getNextObject().then(function(fileAsset) { + console.log('fileAsset.displayName ' + ': ' + fileAsset.displayName); + }).catch(function(err) { + console.error('Failed to get next object: ' + err); + }) + } + }).catch(function(err) { + console.error('Failed to get first object: ' + err); + }); }).catch(function(err){ - console.info("getFileAssets failed with error:"+ err); + console.error("Failed to get file assets: " + err); }); ``` @@ -763,13 +803,11 @@ startMediaSelect(option: MediaSelectOption, callback: AsyncCallback<Array< **示例:** ```js -let fileKeyObj = mediaLibrary.FileKey; -let imageType = mediaLibrary.MediaType.IMAGE; -let imagesfetchOp = { - selections: fileKeyObj.MEDIA_TYPE + '= ?', - selectionArgs: [imageType.toString()], +let option : mediaLibrary.MediaSelectOption = { + type : "media", + count : 2 }; -mediaLibrary.getMediaLibrary().startMediaSelect(imagesfetchOp, (err, value) => { +mediaLibrary.getMediaLibrary().startMediaSelect(option, (err, value) => { if (err) { console.log("An error occurred when selecting media resources."); return; @@ -805,13 +843,11 @@ startMediaSelect(option: MediaSelectOption): Promise<Array<string>> **示例:** ```js -let fileKeyObj = mediaLibrary.FileKey; -let imageType = mediaLibrary.MediaType.IMAGE; -let imagesfetchOp = { - selections: fileKeyObj.MEDIA_TYPE + '= ?', - selectionArgs: [imageType.toString()], +let option : mediaLibrary.MediaSelectOption = { + type : "media", + count : 2 }; -mediaLibrary.getMediaLibrary().startMediaSelect(imagesfetchOp).then((value) => { +mediaLibrary.getMediaLibrary().startMediaSelect(option).then((value) => { console.log("Media resources selected."); // Obtain the media selection value. }).catch((err) => { @@ -1724,18 +1760,13 @@ async function example() { }; 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, isTrashCallBack); - - } else { - console.info('mediaLibraryTest : ASSET_CALLBACK isTrash Unsuccessfull = ' + err); - console.info('mediaLibraryTest : ASSET_CALLBACK isTrash : FAIL'); - - } - } + asset.isTrash((err, isTrash) => { + if (isTrash == undefined) { + console.error('Failed to get trash state: ' + err); + return; + } + console.info('Get trash state success: ' + isTrash); + }); } ``` @@ -1765,14 +1796,13 @@ async function example() { 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); + console.info("isTrash result: " + isTrash); }).catch(function(err){ - console.info("isTrash failed with error:"+ err); + console.error("isTrash failed with error: " + err); }); } ``` @@ -2557,4 +2587,3 @@ async function example() { | type | string | 是 | 媒体类型,包括:image, video, media,当前仅支持media类型 | | count | number | 是 | 媒体选择,count = 1表示单选,count大于1表示多选。 | -