Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
a375dab6
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
You need to sign in or sign up before continuing.
未验证
提交
a375dab6
编写于
11月 04, 2022
作者:
O
openharmony_ci
提交者:
Gitee
11月 04, 2022
浏览文件
操作
浏览文件
下载
差异文件
!11220 add userFileManager.md
Merge pull request !11220 from 胡伟奇/add_userFileManager
上级
36d6551c
d3dd10ab
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1257 addition
and
1422 deletion
+1257
-1422
zh-cn/application-dev/reference/apis/js-apis-userfilemanager.md
...application-dev/reference/apis/js-apis-userfilemanager.md
+1257
-1422
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-userfilemanager.md
浏览文件 @
a375dab6
# 用户数据管理
# 用户数据管理
该模块提供用户数据管理能力,包括访问、修改用户等用户公共媒体数据信息等常用功能。
>  **说明:**
>  **说明:**
> 该模块从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> 该模块从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> 本模块下的接口均为系统接口
## 导入模块
## 导入模块
```
j
s
```
t
s
import
userFileManager
from
'
@ohos.filemanagement.user
file_m
anager
'
;
import
userFileManager
from
'
@ohos.filemanagement.user
FileM
anager
'
;
```
```
## userFileManager.getUserFileMgr
## userFileManager.getUserFileMgr
...
@@ -16,7 +19,7 @@ getUserFileMgr(context: Context): UserFileManager
...
@@ -16,7 +19,7 @@ getUserFileMgr(context: Context): UserFileManager
获取用户数据管理模块的实例,用于访问和修改用户等用户公共媒体数据信息(如音频、视频、图片、文档等)。
获取用户数据管理模块的实例,用于访问和修改用户等用户公共媒体数据信息(如音频、视频、图片、文档等)。
**模型约束:**
此接口仅可在Stage模型下使用。
**模型约束:**
此接口仅可在Stage模型下使用。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
**参数:**
...
@@ -35,7 +38,7 @@ getUserFileMgr(context: Context): UserFileManager
...
@@ -35,7 +38,7 @@ getUserFileMgr(context: Context): UserFileManager
```
ts
```
ts
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
userFileM
gr
=
userfilemanager
.
getUserFileMgr
(
context
);
let
m
gr
=
userfilemanager
.
getUserFileMgr
(
context
);
```
```
## userFileManager.getUserFileMgr
## userFileManager.getUserFileMgr
...
@@ -58,739 +61,746 @@ getUserFileMgr(): UserFileManager
...
@@ -58,739 +61,746 @@ getUserFileMgr(): UserFileManager
**示例:**
**示例:**
```
j
s
```
t
s
let
userFileM
gr
=
userfilemanager
.
getUserFileMgr
();
let
m
gr
=
userfilemanager
.
getUserFileMgr
();
```
```
## UserFileManager
## UserFileManager
### getPublicDirectory
### getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback
<
FetchResult
<
FileAsset
>>
): void;
获取图片和视频资源,使用callback方式返回结果。
getPublicDirectory(type: DirectoryType, callback: AsyncCallback
<
string>): void;
获取系统预设的公共目录,使用callback方式返回异步结果。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| -------- | ------------------------ | ---- | ------------------------- |
|
type |
[
DirectoryType
](
#directorytype
)
| 是 | 公共目录类型
|
|
options |
[
FetchOptions
](
#fetchoptions
)
| 是 | 图片和视频检索选项
|
| callback |
AsyncCallback
<
string> | 是 | callback 返回公共目录路径
|
| callback |
AsyncCallback
<
[FetchResult](#fetchresult)
<
[FileAsset](#fileasset)
>>
| 是 | callback 返回图片和视频检索结果集
|
**示例:**
**示例:**
```
ts
```
ts
async
function
getPublicDirectoryDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
getPublicDirectoryDemo
'
);
console
.
info
(
'
getPhotoAssets
'
);
let
DIR_CAMERA
=
directoryType
.
DIR_CAMERA
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
console
.
info
(
'
DIR_CAMERA
'
,
DIR_CAMERA
);
let
fetchOptions
=
{
userFileMgr
.
getPublicDirectory
(
DIR_CAMERA
,
(
err
,
dicResult
)
=>
{
fetchColumns
:
[],
if
(
dicResult
==
'
Camera/
'
)
{
predicates
:
predicates
console
.
info
(
'
mediaLibraryTest : getPublicDirectory passed
'
);
};
}
else
{
console
.
info
(
'
mediaLibraryTest : getPublicDirectory failed
'
);
mgr
.
getPhotoAssets
(
fetchOptions
,
async
(
err
,
fetchResult
)
=>
{
}
if
(
fetchResult
!=
undefined
)
{
});
console
.
info
(
'
fetchResult success
'
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
if
(
fileAsset
!=
undefined
)
{
console
.
info
(
"
fileAsset.displayName :
"
+
fileAsset
.
displayName
);
}
}
else
{
console
.
info
(
'
fetchResult fail
'
+
err
);
}
})
}
}
```
```
### getPublicDirectory
getPublicDirectory(type: DirectoryType): Promise
<
string>;
### getPhotoAssets
getPhotoAssets(options: FetchOptions): Promise
<
FetchResult
<
FileAsset
>>
;
获取
系统预设的公共目录
,使用Promise方式返回结果。
获取
图片和视频资源
,使用Promise方式返回结果。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
**参数:**
**参数:**
| 参数名
| 类型 | 必填 | 说明
|
| 参数名
| 类型 | 必填 | 说明
|
| ------
| ------------- | ---- |
------------ |
| ------
- | ------------------- | ---- | ----
------------ |
|
type |
[
DirectoryType
](
#directorytype
)
| 是 | 公共目录类型
|
|
options |
[
FetchOptions
](
#fetchoptions
)
| 是 | 图片和视频检索选项
|
**返回值
:
**
**返回值**
| 类型
| 说明
|
| 类型
| 说明
|
| ----------------
| --
-------------- |
| ----------------
----------- |
-------------- |
| Promise
\<
string> | 返回公共目录路径
|
| Promise
<
[FetchResult](#fetchresult)
<
[FileAsset](#fileasset)
>>
| 图片和视频数据结果集
|
**示例:**
**示例:**
```
ts
```
ts
async
function
getPublicDirectoryDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
getPublicDirectoryDemo
'
);
console
.
info
(
'
getPhotoAssets
'
);
let
DIR_CAMERA
=
directoryType
.
DIR_CAMERA
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
try
{
let
fetchOptions
=
{
let
dicResult
=
await
userFileMgr
.
getPublicDirectory
(
DIR_CAMERA
);
fetchColumns
:
[],
console
.
info
(
'
mediaLibraryTest : getPublicDirectory passed, result =
'
,
dicResult
);
predicates
:
predicates
}
catch
(
err
)
{
};
console
.
info
(
'
mediaLibraryTest : getPublicDirectory failed, message =
'
,
err
);
try
{
var
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOptions
)
if
(
fetchResult
!=
undefined
)
{
console
.
info
(
'
fetchResult success
'
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
if
(
fileAsset
!=
undefined
)
{
console
.
info
(
"
fileAsset.displayName :
"
+
fileAsset
.
displayName
);
}
}
}
}
catch
(
err
)
{
console
.
info
(
'
getPhotoAssets failed, message =
'
,
err
);
}
}
}
```
```
### createPhotoAsset
### getFileAssets
createPhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback
<
FileAsset
>
): void;
getFileAssets(type: Array
<
MediaType>, options: MediaFetchOptions, callback: AsyncCallback
<
FetchFileResult>): void;
获取文件
资源,使用callback方式返回结果。
创建图片或视频
资源,使用callback方式返回结果。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.
READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.READ_DOCUMENT
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| -------- | ------------------------ | ---- | ------------------------- |
|
type | Array
<
[
MediaType
](
#mediatype
)
> | 是 | 媒体类型检索范围
|
|
displayName | string | 是 | 创建的图片或者视频文件名
|
|
options |
[
MediaFetchOptions
](
#mediafetchoptions
)
| 是 | 文件检索选项
|
|
albumUri | string | 是 | 创建的图片或者视频所在相册的uri
|
| callback |
AsyncCallback
<
string> | 是 | callback 返回文件检索
结果 |
| callback |
AsyncCallback
<
[FileAsset](#fileasset)
>
| 是 | callback 返回创建的图片和视频
结果 |
**示例:**
**示例:**
```
ts
```
ts
async
function
getFileAssetsDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
getFileAssets
'
);
console
.
info
(
'
createPhotoAssetDemo
'
)
let
fileKeyObj
=
userfile_manager
.
FileKey
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
imageType
=
userfile_manager
.
MediaType
.
IMAGE
let
fetchOptions
=
{
let
fetchOp
=
{
predicates
:
predicates
selections
:
''
,
};
selectionArgs
:
[],
let
albums
=
await
mgr
.
getPhotoAlbums
(
fetchOptions
)
};
let
album
=
await
albums
.
getFirstObject
()
mgr
.
createPhotoAsset
(
'
testFile.txt
'
,
album
.
albumUri
,
(
err
,
fileAsset
)
=>
{
if
(
fileAsset
!=
undefined
)
{
console
.
info
(
'
createPhotoAsset file displayName
'
+
fileAsset
.
displayName
);
console
.
info
(
'
createPhotoAsset successfully
'
);
}
else
{
console
.
info
(
'
createPhotoAsset failed, message =
'
,
err
);
}
})
}
```
userFileMgr
.
getFileAssets
([
imageType
,
],
fetchOp
,
async
(
err
,
fetchFileResult
)
=>
{
### createPhotoAsset
if
(
fetchFileResult
!=
undefined
)
{
console
.
info
(
'
fetchFileResult success
'
);
createPhotoAsset(displayName: string, callback: AsyncCallback
<
FileAsset
>
): void;
let
fileAsset
=
await
fetchFileResult
.
getFirstObject
();
if
(
fileAsset
!=
undefined
)
{
创建图片或视频资源,使用callback方式返回结果。
console
.
info
(
"
fileAsset.displayName :
"
+
fileAsset
.
displayName
);
};
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
}
})
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName | string | 是 | 创建的图片或者视频文件名 |
| callback | AsyncCallback
<
[FileAsset](#fileasset)
>
| 是 | callback 返回创建的图片和视频结果 |
**示例:**
```
ts
async
function
example
()
{
console
.
info
(
'
createPhotoAssetDemo
'
)
mgr
.
createPhotoAsset
(
'
testFile.txt
'
,
(
err
,
fileAsset
)
=>
{
if
(
fileAsset
!=
undefined
)
{
console
.
info
(
'
createPhotoAsset file displayName
'
+
fileAsset
.
displayName
);
console
.
info
(
'
createPhotoAsset successfully
'
);
}
else
{
console
.
info
(
'
createPhotoAsset failed, message =
'
,
err
);
}
})
}
}
```
```
###
getFileAssets
###
createPhotoAsset
getFileAssets(type: Array
<
MediaType
>
, options: MediaFetchOptions): Promise
<
FetchFileResult>
;
createPhotoAsset(displayName: string, albumUri?: string): Promise
<
FileAsset
>
;
获取文件
资源,使用Promise方式返回结果。
创建图片或视频
资源,使用Promise方式返回结果。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.
READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.READ_DOCUMENT
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO
**参数:**
**参数:**
| 参数名
| 类型 | 必填 | 说明
|
| 参数名
| 类型 | 必填 | 说明
|
| -------
| ------------------- | ---- |
---------------- |
| -------
- | ------------------------ | ---- | ---------
---------------- |
|
type | Array
<
[
MediaType
](
#mediatype
)
> | 是 | 媒体类型检索范围
|
|
displayName | string | 是 | 创建的图片或者视频文件名
|
|
options |
[
MediaFetchOptions
](
#mediafetchoptions
)
| 是 | 文件检索选项
|
|
albumUri | string | 否 | 创建的图片或者视频所在相册的uri
|
**返回值**
**返回值**
| 类型 | 说明 |
| 类型 | 说明 |
| --------------------------- | -------------- |
| --------------------------- | -------------- |
| Promise
<
[
F
etchFileResult
](
#fetchfileresult
)
> | 文件数据结果集
|
| Promise
<
[F
ileAsset](#fileasset)
>
| 返回创建的图片和视频结果
|
**示例:**
**示例:**
```
ts
```
ts
async
function
getFileAssetsDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
getFileAssets
'
);
console
.
info
(
'
createPhotoAssetDemo
'
)
let
fileKeyObj
=
userfile_manager
.
FileKey
try
{
let
imageType
=
userfile_manager
.
MediaType
.
IMAGE
let
fileAsset
=
await
mgr
.
createPhotoAsset
(
'
testFile.txt
'
)
let
fetchOp
=
{
console
.
info
(
'
createPhotoAsset file displayName
'
+
fileAsset
.
displayName
);
selections
:
''
,
console
.
info
(
'
createPhotoAsset successfully
'
);
selectionArgs
:
[],
}
catch
(
err
)
{
};
console
.
info
(
'
createPhotoAsset failed, message =
'
,
err
);
try
{
}
var
fetchFileResult
=
await
userFileMgr
.
getFileAssets
([
imageType
,
],
fetchOp
)
}
catch
(
err
)
{
console
.
info
(
'
getFileAssets failed, message =
'
,
err
);
}
if
(
fetchFileResult
!=
undefined
)
{
console
.
info
(
'
fetchFileResult success
'
);
let
fileAsset
=
await
fetchFileResult
.
getFirstObject
();
if
(
fileAsset
!=
undefined
)
{
console
.
info
(
"
fileAsset.displayName :
"
+
fileAsset
.
displayName
);
};
}
}
}
```
```
###
on
###
getPhotoAlbums
on(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback: Callback
<
void
>
): void
getPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback
<
FetchResult
<
Album
>>
): void;
打开文件管理库变更通知,使用callback方式返回异步结果。
获取相册,使用callback方式返回结果。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
**参数:**
**参数:**
| 参数名 | 类型
| 必填 | 说明
|
| 参数名 | 类型
| 必填 | 说明
|
| -------- | --------------------
| ---- | -----------------------------------
------------------------- |
| -------- | --------------------
---- | ---- |
------------------------- |
|
type | string | 是 | 媒体类型
<br/>
'deviceChange':
注册设备变更
<br/>
'albumChange':
相册变更
<br/>
'imageChange':
图片文件变更
<br/>
'audioChange':
音频文件变更
<br/>
'videoChange':
视频文件变更
<br/>
'fileChange':
文件变更
<br/>
'remoteFileChange':
注册设备上文件变更
|
|
options |
[
AlbumFetchOptions
](
#albumfetchoptions
)
| 是 | 相册检索选项
|
| callback |
Callback
<
void
>
| 是 | 回调返回空
|
| callback |
AsyncCallback
<
[FetchResult](#fetchresult)
<
[Album](#album)
>>
| 是 | callback 返回相册检索结果
|
**示例:**
**示例:**
```
ts
```
ts
async
function
onDemo
()
{
async
function
example
()
{
console
.
info
(
'
onDemo
'
)
console
.
info
(
'
getPhotoAlbumsDemo
'
)
userFileMgr
.
on
(
'
imageChange
'
,
()
=>
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
// image file had changed, do something
let
albumFetchOptions
=
{
});
predicates
:
predicates
};
mgr
.
getPhotoAlbums
(
albumFetchOptions
,
(
err
,
fetchResult
)
=>
{
if
(
fetchResult
!=
undefined
)
{
console
.
info
(
'
albums.count =
'
+
fetchResult
.
getCount
());
fetchResult
.
getFirstObject
((
err
,
album
)
=>
{
if
(
album
!=
undefined
)
{
console
.
info
(
'
first album.albumName =
'
+
album
.
albumName
);
}
else
{
console
.
info
(
'
album is undefined, err =
'
,
err
);
}
})
}
console
.
info
(
'
getPhotoAlbums fail, message =
'
,
err
);
})
}
}
```
```
###
off
###
getPhotoAlbums
off(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback?: Callback
<
void
>
): void
getPhotoAlbums(options: AlbumFetchOptions): Promise
<
FetchResult
<
Album
>>
;
关闭文件管理库变更通知,使用callback方式返回异步
结果。
获取相册,使用callback方式返回
结果。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------------------------------------------ |
| -------- | ------------------------ | ---- | ------------------------- |
| type | string | 是 | 媒体类型
<br/>
'deviceChange':
注册设备变更
<br/>
'albumChange':
相册变更
<br/>
'imageChange':
图片文件变更
<br/>
'audioChange':
音频文件变更
<br/>
'videoChange':
视频文件变更
<br/>
'fileChange':
文件变更
<br/>
'remoteFileChange':
注册设备上文件变更 |
| options |
[
AlbumFetchOptions
](
#albumfetchoptions
)
| 是 | 相册检索选项 |
| callback | Callback
<
void
>
| 否 | 回调返回空 |
**返回值**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise
<
[FetchResult](#fetchresult)
<
[Album](#album)
>>
| Promise 返回相册检索结果 |
**示例:**
**示例:**
```
ts
```
ts
async
function
offDemo
()
{
async
function
example
()
{
console
.
info
(
'
offDemo
'
)
console
.
info
(
'
getPhotoAlbumsDemo
'
)
userFileMgr
.
off
(
'
imageChange
'
,
()
=>
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
// stop listening success
let
albumFetchOptions
=
{
});
predicates
:
predicates
};
try
{
let
fetchResult
=
await
mgr
.
getPhotoAlbums
(
albumFetchOptions
);
console
.
info
(
'
album.count =
'
+
fetchResult
.
getCount
());
const
album
=
await
fetchResult
.
getFirstObject
();
console
.
info
(
'
first album.albumName =
'
+
album
.
albumName
);
}
catch
(
err
)
{
console
.
info
(
'
getPhotoAlbums fail, message =
'
+
err
);
}
}
}
```
```
###
createAsset
###
getPrivateAlbum
createAsset(mediaType: MediaType, displayName: string, relativePath: string, callback: AsyncCallback
<
FileAsset
>
): void
getPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback
<
FetchResult
<
PrivateAlbum
>>
): void;
创建文件资源,使用callback方式返回结果。
此接口为系统接口
。
获取系统相册,使用 callback 方式返回系统相册的数组
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.
READ_IMAGEVIDEO
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | --------------------------- | ---- | ------------------------------------------------------------ |
| -------- | ------------------------ | ---- | ------------------------- |
| mediaType |
[
MediaType
](
#mediatype
)
| 是 | 媒体类型 |
| type |
[
PrivateAlbumType
](
#privatealbumtype
)
| 是 | 系统相册类型 |
| displayName | string | 是 | 展示文件名 |
| callback | AsyncCallback
<
[FetchResult](#fetchresult)
<
[PrivateAlbum](#privatealbum)
>>
| 是 | callback 返回相册检索结果 |
| relativePath | string | 是 | 文件保存路径,可以通过getPublicDirectory获取不同类型文件的保存路径 |
| callback | AsyncCallback
<
[
FileAsset
](
#fileasset
)
> | 是 | 异步获取媒体数据FileAsset之后的回调 |
**示例:**
**示例:**
```
ts
```
ts
async
function
createAssetDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
createAssetDemo
'
)
console
.
info
(
'
getPrivateAlbumDemo
'
)
let
mediaType
=
userfile_manager
.
MediaType
.
FILE
;
mgr
.
getPrivateAlbum
(
userFileManager
.
PrivateAlbumType
.
TYPE_TRASH
,
async
(
err
,
fetchResult
)
=>
{
let
DIR_DOC
=
directoryType
.
DIR_DOCUMENTS
;
if
(
fetchResult
!=
undefined
)
{
const
path
=
await
userFileMgr
.
getPublicDirectory
(
DIR_DOC
);
let
trashAlbum
=
await
fetchResult
.
getFirstObject
();
userFileMgr
.
createAsset
(
mediaType
,
'
tesfFile.txt
'
,
path
+
'
myDirectory/
'
,
(
err
,
fileAsset
)
=>
{
console
.
info
(
'
first album.albumName =
'
+
trashAlbum
.
albumName
);
if
(
err
==
undefined
)
{
}
else
{
console
.
info
(
'
createAsset successfully
'
);
console
.
info
(
'
getPrivateAlbum failed. message =
'
,
err
);
}
else
{
}
console
.
info
(
'
createAsset failed, message =
'
,
err
);
});
}
})
}
}
```
```
###
createAsset
###
getPrivateAlbum
createAsset(mediaType: MediaType, displayName: string, relativePath: string): Promise
<
FileAsset>
;
getPrivateAlbum(type: PrivateAlbumType): Promise
<
FetchResult
<
PrivateAlbum
>>
;
创建文件资源,使用Promise方式返回结果。
此接口为系统接口
。
获取系统相册,使用Promise方式返回结果
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.
READ_IMAGEVIDEO
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | --------- | ---- | ------------------------------------------------------------ |
| -------- | ------------------------ | ---- | ------------------------- |
| mediaType |
[
MediaType
](
#mediatype
)
| 是 | 媒体类型 |
| type |
[
PrivateAlbumType
](
#privatealbumtype
)
| 是 | 系统相册类型 |
| displayName | string | 是 | 展示文件名 |
| relativePath | string | 是 | 文件保存路径,可以通过getPublicDirectory获取不同类型文件的保存路径 |
**返回值**
**返回值**
| 类型
| 说明
|
| 类型
| 说明
|
| ---------------------
| ---
-------------- |
| ---------------------
------ |
-------------- |
| Promise
<
[
F
ileAsset
](
#fileasset
)
> | 媒体数据FileAsset
|
| Promise
<
[F
etchResult](#fetchresult)
<
[PrivateAlbum](#privatealbum)
>>
| Promise 返回相册检索结果
|
**示例:**
**示例:**
```
ts
```
ts
async
function
createAssetDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
createAssetDemo
'
)
console
.
info
(
'
getPrivateAlbumDemo
'
);
let
mediaType
=
userfile_manager
.
MediaType
.
FILE
;
try
{
let
DIR_DOC
=
directoryType
.
DIR_DOCUMENTS
;
var
fetchResult
=
await
mgr
.
getPrivateAlbum
(
userFileManager
.
PrivateAlbumType
.
TYPE_TRASH
);
const
path
=
await
userFileMgr
.
getPublicDirectory
(
DIR_DOC
);
let
trashAlbum
=
await
fetchResult
.
getFirstObject
();
try
{
console
.
info
(
'
first album.albumName =
'
+
trashAlbum
.
albumName
);
let
fileAsset
=
await
userFileMgr
.
createAsset
(
mediaType
,
'
tesfFile.txt
'
,
path
+
'
myDirectory/
'
)
}
catch
(
err
)
{
console
.
info
(
'
createAsset successfully
'
);
console
.
info
(
'
getPrivateAlbum failed. message =
'
,
err
);
}
catch
(
err
)
{
}
console
.
info
(
'
createAsset failed, message =
'
,
err
);
}
}
}
```
```
###
deleteAsset
###
getAudioAssets
deleteAsset(uri: string, callback: AsyncCallback
<
void>
): void;
getAudioAssets(options: FetchOptions, callback: AsyncCallback
<
FetchResult
<
FileAsset
>>
): void;
删除文件资源,使用callback方式返回结果。
此接口为系统接口
。
获取音频文件,使用callback方式返回结果
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.
READ_AUDIO
**参数:**
**参数:**
| 参数名 | 类型
| 必填 | 说明
|
| 参数名 | 类型
| 必填 | 说明
|
| -------- | ------------------------
--- | ---- |
---------------------- |
| -------- | ------------------------
| ---- | ---
---------------------- |
|
uri | string | 是 | 文件URI
|
|
options |
[
FetchOptions
](
#fetchoptions
)
| 是 | 检索选项
|
| callback |
AsyncCallback
<
[
FileAsset
](
#fileasset
)
> | 是 | 异步删除文件之后的回调
|
| callback |
AsyncCallback
<
[FetchResult](#fetchresult)
<
[FileAsset](#fileasset)
>>
| 是 | callback 返回相册检索结果
|
**示例:**
**示例:**
```
ts
```
ts
async
function
deleteAssetDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
deleteAssetDemo
'
)
console
.
info
(
'
getAudioAssets
'
);
let
fileKeyObj
=
userfile_manager
.
FileKey
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fileType
=
userfile_manager
.
MediaType
.
FILE
let
fetchOptions
=
{
let
option
=
{
fetchColumns
:
[],
selections
:
''
,
predicates
:
predicates
selectionArgs
:
[],
};
};
try
{
mgr
.
getPhotoAssets
(
fetchOptions
,
async
(
err
,
fetchResult
)
=>
{
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
([
fileType
,
],
option
);
if
(
fetchResult
!=
undefined
)
{
var
asset
=
await
fetchFileResult
.
getFirstObject
();
console
.
info
(
'
fetchFileResult success
'
);
}
catch
(
err
)
{
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
console
.
info
(
'
fetch failed, message =
'
,
err
)
if
(
fileAsset
!=
undefined
)
{
}
console
.
info
(
"
fileAsset.displayName :
"
+
fileAsset
.
displayName
);
}
if
(
asset
==
undefined
)
{
}
else
{
console
.
error
(
'
asset not exist
'
)
console
.
info
(
'
fetchFileResult fail
'
+
err
);
return
}
}
userFileMgr
.
deleteAsset
(
asset
.
uri
,
(
err
)
=>
{
})
if
(
err
==
undefined
)
{
console
.
info
(
"
deleteAsset successfully
"
);
}
else
{
console
.
info
(
"
deleteAsset failed with error:
"
+
err
);
}
});
}
}
```
```
###
deleteAsset
###
getAudioAssets
deleteAsset(uri: string): Promise
<
void>
;
getAudioAssets(options: FetchOptions): Promise
<
FetchResult
<
FileAsset
>>
;
创建文件资源,使用Promise方式返回结果。
此接口为系统接口
。
获取音频文件,使用callback方式返回结果
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.
READ_AUDIO
**参数:**
**参数:**
| 参数名
| 类型 | 必填 | 说明
|
| 参数名
| 类型 | 必填 | 说明
|
| ------
| ------ | ---- |
------- |
| ------
-- | ------------------------ | ---- | ------------------
------- |
|
uri | string | 是 | 文件URI
|
|
options |
[
FetchOptions
](
#fetchoptions
)
| 是 | 检索选项
|
**返回值**
**返回值**
| 类型
| 说明
|
| 类型
| 说明
|
| ----------------
| -------------------
-------------- |
| ----------------
----------- |
-------------- |
| Promise
<
void> | Promise实例,用于获取异步返回
结果 |
| Promise
<
[FetchResult](#fetchresult)
<
[FileAsset](#fileasset)
>>
| Promise 返回相册检索
结果 |
**示例:**
**示例:**
```
ts
```
ts
async
function
deleteAssetDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
deleteAssetDemo
'
)
console
.
info
(
'
getAudioAssets
'
);
let
fileKeyObj
=
userfile_manager
.
FileKey
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fileType
=
userfile_manager
.
MediaType
.
FILE
let
fetchOptions
=
{
let
option
=
{
fetchColumns
:
[],
selections
:
''
,
predicates
:
predicates
selectionArgs
:
[],
};
};
try
{
try
{
var
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOptions
)
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
([
fileType
,
],
option
);
}
catch
(
err
)
{
var
asset
=
await
fetchFileResult
.
getFirstObject
();
console
.
info
(
'
getAudioAssets failed, message =
'
,
err
);
}
catch
(
err
)
{
}
console
.
info
(
'
fetch failed, message =
'
,
err
)
}
if
(
fetchResult
!=
undefined
)
{
if
(
asset
==
undefined
)
{
console
.
info
(
'
fetchFileResult success
'
);
console
.
error
(
'
asset not exist
'
)
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
return
if
(
fileAsset
!=
undefined
)
{
}
console
.
info
(
"
fileAsset.displayName :
"
+
fileAsset
.
displayName
);
try
{
await
userFileMgr
.
deleteAsset
(
asset
.
uri
);
console
.
info
(
"
deleteAsset successfully
"
);
}
catch
(
err
)
{
console
.
info
(
"
deleteAsset failed with error:
"
+
err
);
}
}
}
}
}
```
```
### delete
### getAlbums
delete(uri: string, callback: AsyncCallback
<
void
>
): void;
getAlbums(type: Array
<
MediaType
>
, options: MediaFetchOptions, callback: AsyncCallback<Array
<
Album
>>
): void;
获取相册列表,使用callback 方式返回结果
。
删除媒体文件
。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
或 ohos.permission.READ_AUDIO 或 ohos.permission.READ_DOCUMENT
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------ | ---- | --------------------------- |
| -------- | ------------------------- | ---- | ---------- |
| type | Array
<
[
MediaType
](
#mediatype
)
> | 是 | 相册媒体类型检索范围 |
| uri | string | 是 | 媒体文件uri |
| options |
[
MediaFetchOptions
](
#mediafetchoptions
)
| 是 | 相册获取条件 |
| callback | AsyncCallback
<
void
>
| 是 | 回调返回空 |
| callback | AsyncCallback
<
Array
<
[Album](#album)>
>
| 是 | 异步获取Album列表之后的回调 |
**示例
:**
**示例
**
:
```
ts
```
ts
async
function
getAlbumsDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
getAlbumsDemo
'
)
console
.
info
(
'
deleteAssetDemo
'
)
let
AlbumNoArgsfetchOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
''
,
let
fetchOptions
=
{
selectionArgs
:
[],
fetchColumns
:
[],
};
predicates
:
predicates
userFileMgr
.
getAlbums
([
userfile_manager
.
MediaType
.
IMAGE
],
AlbumNoArgsfetchOp
,
(
err
,
albumList
)
=>
{
};
if
(
albumList
!=
undefined
)
{
try
{
const
album
=
albumList
[
0
];
const
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOptions
);
console
.
info
(
'
first album.albumName =
'
+
album
.
albumName
);
var
asset
=
await
fetchResult
.
getFirstObject
();
console
.
info
(
'
album.count =
'
+
albumList
.
length
);
}
catch
(
err
)
{
}
else
{
console
.
info
(
'
fetch failed, message =
'
,
err
)
console
.
info
(
'
getAlbum fail, 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
.
info
(
"
delete failed with error:
"
+
err
);
}
});
}
}
```
```
### delete
### getAlbums
delete(uri: string): Promise
<
void
>
;
getAlbums(type: Array
<
MediaType>, options: MediaFetchOptions): Promise
<Array
&
lt
;
Album
>
>;
删除媒体文件。
获取相册列表,使用 promise 方式返回结果。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.READ_DOCUMENT
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------- | ---- | -------------------- |
| -------- | ------------------------- | ---- | ---------- |
| type | Array
<
[
MediaType
](
#mediatype
)
> | 是 | 相册媒体类型检索范围 |
| uri | string | 是 | 媒体文件uri |
| options |
[
MediaFetchOptions
](
#mediafetchoptions
)
| 是 | 相册获取条件 |
**返回值
:**
**返回值
**
:
| 类型
| 说明
|
| 类型
| 说明
|
| ------------------------
| ---------
----------------- |
| ------------------------
--------------- |
----------------- |
| Promise
<Array
&
lt
;[
Album
](
#album
)
>
> | Promise实例,返回Album列表
|
| Promise
<
void
>
| 回调返回空
|
**示例
:**
**示例
**
:
```
ts
```
ts
async
function
getAlbumsDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
getAlbumsDemo
'
)
console
.
info
(
'
deleteDemo
'
)
let
AlbumNoArgsfetchOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
''
,
let
fetchOptions
=
{
selectionArgs
:
[],
fetchColumns
:
[],
};
predicates
:
predicates
try
{
};
let
albumList
=
await
userFileMgr
.
getAlbums
([
userfile_manager
.
MediaType
.
IMAGE
],
AlbumNoArgsfetchOp
);
try
{
const
album
=
albumList
[
0
];
const
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOptions
);
console
.
info
(
'
first album.albumName =
'
+
album
.
albumName
);
var
asset
=
await
fetchResult
.
getFirstObject
();
console
.
info
(
'
album.count =
'
+
albumList
.
length
);
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
info
(
'
fetch failed, message =
'
,
err
)
console
.
info
(
'
getAlbum fail, message =
'
+
err
);
}
}
if
(
asset
==
undefined
)
{
console
.
error
(
'
asset not exist
'
)
return
;
}
try
{
await
mgr
.
delete
(
asset
.
uri
);
console
.
info
(
"
delete successfully
"
);
}
catch
(
err
)
{
console
.
info
(
"
delete failed with error:
"
+
err
);
}
}
}
```
```
### getPrivateAlbum
### on
getPrivateAlbum(type: VirtualAlbumType, callback: AsyncCallback
<Array
&
lt
;
VirtualAlbum
&
gt
;
>
): void
获取系统相册,使用 callback 方式返回系统相册的数组。
on(type: ChangeEvent, callback: Callback
<
void
>
): void
此接口为系统接口
。
打开文件管理库变更通知,使用callback方式返回异步结果
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.READ_DOCUMENTS
**参数:**
**参数:**
| 参数名 | 类型
| 必填 | 说明
|
| 参数名 | 类型
| 必填 | 说明
|
| -------- | --------------------
----------------- | ---- |
---------------------------------- |
| -------- | --------------------
| ---- | --------------------------
---------------------------------- |
| type |
[
VirtualAlbumType
](
#virtualalbumtype
)
| 是 | 系统相册类型
|
| type |
[
ChangeEvent
](
#changeevent
)
| 是 | 媒体类型
<br/>
'deviceChange':
注册设备变更
<br/>
'albumChange':
相册变更
<br/>
'imageChange':
图片文件变更
<br/>
'audioChange':
音频文件变更
<br/>
'videoChange':
视频文件变更
<br/>
'remoteFileChange':
注册设备上文件变更
|
| callback |
AsyncCallback
<Array
&
lt
;[
VirtualAlbum
](
#virtualalbum
)
>
> | 是 | 异步获取VirtualAlbum数组之后的回调
|
| callback |
Callback
<
void
>
| 是 | 回调返回空
|
**示例:**
**示例:**
```
ts
```
ts
async
function
getPrivateAlbumDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
getPrivateAlbumDemo
'
)
console
.
info
(
'
onDemo
'
)
userFileMgr
.
getPrivateAlbum
(
userfile_manager
.
VirtualAlbumType
.
TYPE_TRASH
,
async
(
err
,
albumArray
)
=>
{
userFileMgr
.
on
(
'
imageChange
'
,
()
=>
{
if
(
err
==
undefined
)
{
// image file had changed, do something
console
.
info
(
'
getPrivateAlbum ok
'
);
try
{
let
fetchOpt
=
{
selections
:
''
,
selectionArgs
:
[],
};
let
trashAlbum
=
albumArray
[
0
];
var
fetchResult
=
await
trashAlbum
.
getFileAssets
([
userfile_manager
.
MediaType
.
IMAGE
],
fetchOpt
);
}
catch
(
err
)
{
console
.
info
(
'
getFileAssets failed. message =
'
,
err
);
}
// Get file count in trash album
let
count
=
fetchResult
.
getCount
();
console
.
info
(
'
fetchResult count =
'
,
count
)
// Get fileAssets in trash album
let
trashAsset
=
await
fetchResult
.
getFirstObject
();
// Get file trashed date
let
isTrash
=
trashAsset
.
isTrash
();
console
.
info
(
'
is trashed
'
,
isTrash
)
}
else
{
console
.
info
(
'
getPrivateAlbum failed. message =
'
,
err
);
}
});
});
}
}
```
```
### getPrivateAlbum
### off
getPrivateAlbum(type: VirtualAlbumType): Promise
<Array
&
lt
;
VirtualAlbum
&
gt
;
>
获取系统相册,使用 Promise 方式返回系统相册的数组。
off(type: ChangeEvent, callback?: Callback
<
void
>
): void
此接口为系统接口
。
关闭文件管理库变更通知,使用callback方式返回异步结果
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.READ_DOCUMENTS
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------- | ---- | ------------ |
| -------- | -------------------- | ---- | ------------------------------------------------------------ |
| type |
[
VirtualAlbumType
](
#virtualalbumtype
)
| 是 | 系统相册类型 |
| type |
[
ChangeEvent
](
#changeevent
)
| 是 | 媒体类型
<br/>
'deviceChange':
注册设备变更
<br/>
'albumChange':
相册变更
<br/>
'imageChange':
图片文件变更
<br/>
'audioChange':
音频文件变更
<br/>
'videoChange':
视频文件变更
<br/>
'remoteFileChange':
注册设备上文件变更 |
| callback | Callback
<
void
>
| 否 | 回调返回空 |
**返回值:**
| 类型 | 说明 |
| ------------------------------- | --------------------------------- |
| Promise
<Array
&
lt
;[
VirtualAlbum
](
#virtualalbum
)
>
> | Promise实例,返回VirtualAlbum数组 |
**示例:**
**示例:**
```
ts
```
ts
async
function
getPrivateAlbumDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
getPrivateAlbumDemo
'
);
console
.
info
(
'
offDemo
'
)
try
{
userFileMgr
.
off
(
'
imageChange
'
,
()
=>
{
var
albumArray
=
await
userFileMgr
.
getPrivateAlbum
(
userfile_manager
.
VirtualAlbumType
.
TYPE_TRASH
);
// stop listening success
}
catch
(
err
)
{
});
console
.
info
(
'
getPrivateAlbum failed. message =
'
,
err
);
}
try
{
let
fetchOpt
=
{
selections
:
''
,
selectionArgs
:
[],
};
let
trashAlbum
=
albumArray
[
0
];
var
fetchResult
=
await
trashAlbum
.
getFileAssets
([
userfile_manager
.
MediaType
.
IMAGE
],
fetchOpt
);
}
catch
(
err
)
{
console
.
info
(
'
getFileAssets failed. message =
'
,
err
);
}
// Get file count in trash album
let
count
=
fetchResult
.
getCount
();
console
.
info
(
'
fetchResult count =
'
,
count
)
// Get fileAssets in trash album
let
trashAsset
=
await
fetchResult
.
getFirstObject
();
// Get file trashed date
let
isTrash
=
trashAsset
.
isTrash
();
console
.
info
(
'
is trashed
'
,
isTrash
)
}
}
```
```
### getActivePeers
### getActivePeers
getActivePeers(callback: AsyncCallback
<Array
&
lt
;
PeerInfo
>
>
): void;
getActivePeers(callback: AsyncCallback
<
Array
<
PeerInfo
>>
): void;
获取在线对端设备的信息,使用callback方式返回异步结果。
获取在线对端设备的信息,使用callback方式返回异步结果。
此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.DistributedCore
**系统能力**
:SystemCapability.FileManagement.UserFileManager.DistributedCore
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | ------------ |
| -------- | --------------------------------- | ---- | ------------ |
| callback | AsyncCallback
<Array
<[
PeerInfo
](
#peerinfo
)
>
> | 是 | 系统相册类型
|
| callback | AsyncCallback
<
Array
<
[PeerInfo](#peerinfo)
>>
| 是 | 返回在线设备列表
|
**示例:**
**示例:**
```
ts
```
ts
async
function
getActivePeersDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
getActivePeersDemo
'
)
console
.
info
(
'
getActivePeersDemo
'
)
var
devicesInfo
=
userFileM
gr
.
getActivePeers
((
err
,
devicesInfo
)
=>
{
m
gr
.
getActivePeers
((
err
,
devicesInfo
)
=>
{
if
(
err
=
=
undefined
)
{
if
(
devicesInfo
!
=
undefined
)
{
console
.
log
(
'
getActivePeers succeed.
'
)
console
.
log
(
'
getActivePeers succeed.
'
)
for
(
let
i
=
0
;
i
<
devicesInfo
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
devicesInfo
.
length
;
i
++
)
{
console
.
info
(
'
get distributed info
'
+
devicesInfo
[
i
].
deviceName
+
devicesInfo
[
i
].
networkId
);
console
.
info
(
'
get distributed info
'
+
devicesInfo
[
i
].
deviceName
+
devicesInfo
[
i
].
networkId
);
}
}
}
else
{
}
else
{
console
.
info
(
'
getActivePeers failed. message =
'
,
err
)
console
.
info
(
'
getActivePeers failed. message =
'
,
err
)
}
}
});
});
}
}
```
```
### getActivePeers
### getActivePeers
getActivePeers(): Promise
<Array
&
lt
;
PeerInfo
>
>
;
getActivePeers(): Promise
<
Array
<
PeerInfo
>>
;
获取在线对端设备的信息,使用promise方式返回异步结果。
获取在线对端设备的信息,使用promise方式返回异步结果。
此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.DistributedCore
**系统能力**
:SystemCapability.FileManagement.UserFileManager.DistributedCore
**返回值:**
**返回值:**
| 类型 | 说明 |
| 类型 | 说明 |
| --------------------------- | ----------------------------- |
| --------------------------- | ----------------------------- |
| Promise
<Array
<[
PeerInfo
](
#peerinfo
)
>
>
| Promise实例,返回在线设备列表 |
| Promise
<
Array
<
[PeerInfo](#peerinfo)
>>
| Promise实例,返回在线设备列表 |
**示例:**
**示例:**
```
ts
```
ts
async
function
getActivePeersDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
getActivePeersDemo
'
)
console
.
info
(
'
getActivePeersDemo
'
)
try
{
try
{
var
devicesInfo
=
await
userFileMgr
.
getActivePeers
();
var
devicesInfo
=
await
mgr
.
getActivePeers
();
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
info
(
'
getActivePeers failed. message =
'
,
err
)
console
.
info
(
'
getActivePeers failed. message =
'
,
err
)
}
}
if
(
devicesInfo
!=
undefined
)
{
if
(
devicesInfo
!=
undefined
)
{
console
.
log
(
'
getActivePeers succeed.
'
)
console
.
log
(
'
getActivePeers succeed.
'
)
for
(
let
i
=
0
;
i
<
devicesInfo
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
devicesInfo
.
length
;
i
++
)
{
console
.
info
(
'
get distributed info
'
+
devicesInfo
[
i
].
deviceName
+
devicesInfo
[
i
].
networkId
);
console
.
info
(
'
get distributed info
'
+
devicesInfo
[
i
].
deviceName
+
devicesInfo
[
i
].
networkId
);
}
}
else
{
console
.
info
(
'
get distributed fail
'
)
}
}
}
else
{
console
.
info
(
'
get distributed fail
'
)
}
}
}
```
```
### getAllPeers
### getAllPeers
getAllPeers(callback: AsyncCallback
<Array
&
lt
;
PeerInfo
>
>
): void;
getAllPeers(callback: AsyncCallback
<
Array
<
PeerInfo
>>
): void;
获取所有对端设备的信息,使用callback方式返回异步结果。
获取所有对端设备的信息,使用callback方式返回异步结果。
此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.DistributedCore
**系统能力**
:SystemCapability.FileManagement.UserFileManager.DistributedCore
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | ------------ |
| -------- | --------------------------------- | ---- | ------------ |
| callback | AsyncCallback
<Array
&
lt
;[
PeerInfo
](
#peerinfo
)
>
> | 是 | 系统相册类型
|
| callback | AsyncCallback
<
Array
<
[PeerInfo](#peerinfo)
>>
| 是 | 返回在线设备列表
|
**示例:**
**示例:**
```
ts
```
ts
async
function
getAllPeersDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
getAllPeersDemo
'
)
console
.
info
(
'
getAllPeersDemo
'
)
var
devicesInfo
=
await
userFileM
gr
.
getAllPeers
((
err
,
devicesInfo
)
=>
{
m
gr
.
getAllPeers
((
err
,
devicesInfo
)
=>
{
if
(
err
=
=
undefined
)
{
if
(
devicesInfo
!
=
undefined
)
{
console
.
log
(
'
getAllPeers succeed.
'
)
console
.
log
(
'
getAllPeers succeed.
'
)
for
(
let
i
=
0
;
i
<
devicesInfo
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
devicesInfo
.
length
;
i
++
)
{
console
.
info
(
'
get distributed info
'
+
devicesInfo
[
i
].
deviceName
+
devicesInfo
[
i
].
networkId
);
console
.
info
(
'
get distributed info
'
+
devicesInfo
[
i
].
deviceName
+
devicesInfo
[
i
].
networkId
);
}
}
}
else
{
}
else
{
console
.
info
(
'
getAllPeers failed. message =
'
,
err
)
console
.
info
(
'
getAllPeers failed. message =
'
,
err
)
}
}
});
});
}
}
```
```
### getAllPeers
### getAllPeers
getAllPeers(): Promise
<Array
&
lt
;
PeerInfo
>
>
;
getAllPeers(): Promise
<
Array
<
PeerInfo
>>
;
获取所有对端设备的信息,使用promise方式返回异步结果。
获取所有对端设备的信息,使用promise方式返回异步结果。
此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.DistributedCore
**系统能力**
:SystemCapability.FileManagement.UserFileManager.DistributedCore
**返回值:**
**返回值:**
| 类型 | 说明 |
| 类型 | 说明 |
| --------------------------- | ----------------------------- |
| --------------------------- | ----------------------------- |
| Promise
<Array
&
lt
;[
PeerInfo
](
#peerinfo
)
>
>
| Promise实例,返回所有设备列表 |
| Promise
<
Array
<
[PeerInfo](#peerinfo)
>>
| Promise实例,返回所有设备列表 |
**示例:**
**示例:**
```
ts
```
ts
async
function
getAllPeersDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
getAllPeersDemo
'
)
console
.
info
(
'
getAllPeersDemo
'
)
try
{
try
{
var
devicesInfo
=
await
userFileMgr
.
getAllPeers
();
var
devicesInfo
=
await
mgr
.
getAllPeers
();
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
info
(
'
getAllPeers failed. message =
'
,
err
)
console
.
info
(
'
getAllPeers failed. message =
'
,
err
)
}
}
if
(
devicesInfo
!=
undefined
)
{
if
(
devicesInfo
!=
undefined
)
{
console
.
log
(
'
getAllPeers succeed.
'
)
console
.
log
(
'
getAllPeers succeed.
'
)
for
(
let
i
=
0
;
i
<
devicesInfo
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
devicesInfo
.
length
;
i
++
)
{
console
.
info
(
'
get distributed info
'
+
devicesInfo
[
i
].
deviceName
+
devicesInfo
[
i
].
networkId
);
console
.
info
(
'
get distributed info
'
+
devicesInfo
[
i
].
deviceName
+
devicesInfo
[
i
].
networkId
);
}
}
else
{
console
.
info
(
'
get distributed fail
'
)
}
}
}
else
{
console
.
info
(
'
get distributed fail
'
)
}
}
}
```
```
...
@@ -812,15 +822,15 @@ release(callback: AsyncCallback<void>): void
...
@@ -812,15 +822,15 @@ release(callback: AsyncCallback<void>): void
**示例:**
**示例:**
```
ts
```
ts
async
function
releaseDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
releaseDemo
'
);
console
.
info
(
'
releaseDemo
'
);
userFileM
gr
.
release
((
err
)
=>
{
m
gr
.
release
((
err
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
undefined
)
{
console
.
info
(
'
release failed. message =
'
,
err
);
console
.
info
(
'
release failed. message =
'
,
err
);
}
else
{
}
else
{
console
.
info
(
'
release ok.
'
);
console
.
info
(
'
release ok.
'
);
}
}
})
})
}
}
```
```
...
@@ -842,14 +852,14 @@ release(): Promise<void>
...
@@ -842,14 +852,14 @@ release(): Promise<void>
**示例:**
**示例:**
```
ts
```
ts
async
function
releaseDemoPromis
e
()
{
async
function
exampl
e
()
{
console
.
info
(
'
releaseDemo
'
);
console
.
info
(
'
releaseDemo
'
);
try
{
try
{
await
userFileM
gr
.
release
();
await
m
gr
.
release
();
console
.
info
(
'
release ok.
'
);
console
.
info
(
'
release ok.
'
);
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
info
(
'
release failed. message =
'
,
err
);
console
.
info
(
'
release failed. message =
'
,
err
);
}
}
}
}
```
```
...
@@ -864,79 +874,77 @@ async function releaseDemoPromise() {
...
@@ -864,79 +874,77 @@ async function releaseDemoPromise() {
| 名称 | 类型 | 可读 | 可写 | 说明 |
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------- | ------------------------ | ---- | ---- | ------------------------------------------------------ |
| ------------------------- | ------------------------ | ---- | ---- | ------------------------------------------------------ |
| uri | string | 是 | 否 | 文件资源uri(如:dataability:///media/image/2) |
| uri | string | 是 | 否 | 文件资源uri(如:dataability:///media/image/2) |
|
mediaType |
[
MediaType
](
#mediatype
)
| 是 | 否 | 媒体
类型 |
|
fileType |
[
FileType
](
#filetype
)
| 是 | 否 | 媒体文件
类型 |
| displayName | string | 是 | 是 | 显示文件名,包含后缀名 |
| displayName | string | 是 | 是 | 显示文件名,包含后缀名 |
###
isDirectory
###
get
isDirectory(callback: AsyncCallback
<
boolean
>
): void
get(member: string): MemberType;
判断fileAsset是否为目录,使用callback方式返回异步结果。
获取FileAsset成员参数
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
**参数:**
| 参数名 | 类型
| 必填 | 说明
|
| 参数名 | 类型
| 必填 | 说明
|
| -------- | -------------------------
--- | ---- | --------------
----- |
| -------- | -------------------------
| ---- |
----- |
|
callback | AsyncCallback
<
boolean
>
| 是 | 当前FileAsset是否是目录的回调
|
|
member | string | 是 | 成员参数名称例如:ImageVideoKey.URI
|
**示例:**
**示例:**
```
ts
```
js
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
console
.
info
(
'
fileAssetGetDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
try
{
let
getImageOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
let
fetchOption
=
{
selectionArgs
:
[
imageType
.
toString
()],
fetchColumns
:
[],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
predicates
:
predicates
extendArgs
:
""
,
};
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
const
asset
=
await
fetchFileResult
.
getFirstObject
();
let
title
=
userFileManager
.
ImageVideoKey
.
TITLE
asset
.
isDirectory
((
err
,
isDirectory
)
=>
{
let
fileAssetTitle
=
fileAsset
.
get
(
title
.
toString
())
// do something
console
.
info
(
'
fileAsset Get fileAssetTitle =
'
,
fileAssetTitle
);
});
}
catch
(
err
)
{
console
.
info
(
'
release failed. message =
'
,
err
);
}
}
}
```
```
###
isDirectory
###
set
isDirectory():Promise
<
boolean
>
;
set(member: string, value: string): void
;
判断fileAsset是否为目录,使用Promise方式返回异步结果。
设置FileAsset成员参数
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**
返回值
:**
**
参数
:**
| 类型 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---------------------- | ---------------------------- |
| -------- | ------------------------- | ---- | ----- |
| Promise
<
boolean
>
| Promise实例,返回当前FileAsset是否是目录 |
| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI |
| value | string | 是 | 设置成员参数名称,只能修改ImageVideoKey.TITLE的值 |
**示例:**
**示例:**
```
ts
```
js
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
userfile_manager
.
FileKey
console
.
info
(
'
fileAssetSetDemo
'
)
let
imageType
=
userfile_manager
.
MediaType
.
IMAGE
;
try
{
let
getImageOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
let
fetchOption
=
{
selectionArgs
:
[
imageType
.
toString
()],
fetchColumns
:
[],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
predicates
:
predicates
extendArgs
:
""
,
};
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
const
asset
=
await
fetchFileResult
.
getFirstObject
();
let
title
=
userFileManager
.
ImageVideoKey
.
TITLE
asset
.
isDirectory
().
then
(
function
(
isDirectory
){
fileAsset
.
set
(
title
.
toString
(),
"
newTitle
"
)
console
.
info
(
"
isDirectory result:
"
+
isDirectory
);
}
catch
(
err
)
{
}).
catch
(
function
(
err
){
console
.
info
(
'
release failed. message =
'
,
err
);
console
.
info
(
"
isDirectory failed with error:
"
+
err
);
}
});
}
}
```
```
...
@@ -946,7 +954,7 @@ commitModify(callback: AsyncCallback<void>): void
...
@@ -946,7 +954,7 @@ commitModify(callback: AsyncCallback<void>): void
修改文件的元数据,使用callback方式返回异步结果。
修改文件的元数据,使用callback方式返回异步结果。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -958,23 +966,28 @@ commitModify(callback: AsyncCallback<void>): void
...
@@ -958,23 +966,28 @@ commitModify(callback: AsyncCallback<void>): void
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
console
.
info
(
'
commitModifyDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
let
title
=
userFileManager
.
ImageVideoKey
.
TITLE
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
let
fileAssetTitle
=
fileAsset
.
get
(
title
.
toString
())
const
asset
=
await
fetchFileResult
.
getFirstObject
();
console
.
info
(
'
fileAsset Get fileAssetTitle =
'
,
fileAssetTitle
);
asset
.
title
=
'
newtitle
'
;
fileAsset
.
set
(
title
.
toString
(),
"
newTitle
"
)
asset
.
commitModify
(()
=>
{
fileAsset
.
commitModify
((
err
)
=>
{
console
.
info
(
'
commitModify success
'
);
if
(
err
==
undefined
)
{
});
let
newFileAssetTitle
=
fileAsset
.
get
(
title
.
toString
())
console
.
info
(
'
fileAsset Get newFileAssetTitle =
'
,
newFileAssetTitle
);
}
else
{
console
.
info
(
'
commitModify failed, message =
'
,
err
);
}
});
}
}
```
```
...
@@ -984,7 +997,7 @@ commitModify(): Promise<void>
...
@@ -984,7 +997,7 @@ commitModify(): Promise<void>
修改文件的元数据,使用promise方式返回异步结果。
修改文件的元数据,使用promise方式返回异步结果。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -994,23 +1007,29 @@ commitModify(): Promise<void>
...
@@ -994,23 +1007,29 @@ commitModify(): Promise<void>
| ------------------- | ---------- |
| ------------------- | ---------- |
| Promise
<
void
>
| Promise返回空 |
| Promise
<
void
>
| Promise返回空 |
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
console
.
info
(
'
commitModifyDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
let
title
=
userFileManager
.
ImageVideoKey
.
TITLE
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
let
fileAssetTitle
=
fileAsset
.
get
(
title
.
toString
())
const
asset
=
await
fetchFileResult
.
getFirstObject
();
console
.
info
(
'
fileAsset Get fileAssetTitle =
'
,
fileAssetTitle
);
asset
.
title
=
'
newtitle
'
;
fileAsset
.
set
(
title
.
toString
(),
"
newTitle
"
)
asset
.
commitModify
();
try
{
await
fileAsset
.
commitModify
()
let
newFileAssetTitle
=
fileAsset
.
get
(
title
.
toString
())
console
.
info
(
'
fileAsset Get newFileAssetTitle =
'
,
newFileAssetTitle
);
}
catch
(
err
)
{
console
.
info
(
'
release failed. message =
'
,
err
);
}
}
}
```
```
...
@@ -1022,7 +1041,7 @@ open(mode: string, callback: AsyncCallback<number>): void
...
@@ -1022,7 +1041,7 @@ open(mode: string, callback: AsyncCallback<number>): void
**注意**
:当前写操作是互斥的操作,写操作完成后需要调用close进行释放
**注意**
:当前写操作是互斥的操作,写操作完成后需要调用close进行释放
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.
READ_DOCUMENT 或 ohos.permission.WRITE_MEDIA 或 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.
WRITE_MEDIA 或 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1036,20 +1055,18 @@ open(mode: string, callback: AsyncCallback<number>): void
...
@@ -1036,20 +1055,18 @@ open(mode: string, callback: AsyncCallback<number>): void
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
mediaType
=
mediaLibrary
.
MediaType
.
IMAGE
;
console
.
info
(
'
openDemo
'
)
let
DIR_IMAGE
=
mediaLibrary
.
DirectoryType
.
DIR_IMAGE
;
const
fileAsset
=
await
mgr
.
createPhotoAsset
(
"
image00003.jpg
"
);
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
fileAsset
.
open
(
'
rw
'
,
(
err
,
fd
)
=>
{
const
path
=
await
userFileMgr
.
getPublicDirectory
(
DIR_IMAGE
);
if
(
fd
!=
undefined
)
{
const
asset
=
await
userFileMgr
.
createAsset
(
mediaType
,
"
image00003.jpg
"
,
path
);
console
.
info
(
'
File fd
'
+
fd
);
asset
.
open
(
'
rw
'
,
(
openError
,
fd
)
=>
{
fileAsset
.
close
(
fd
)
if
(
fd
>
0
){
}
else
{
asset
.
close
(
fd
);
console
.
info
(
'
File err
'
+
err
);
}
else
{
}
console
.
info
(
'
File Open Failed!
'
+
openError
);
});
}
});
}
}
```
```
...
@@ -1061,7 +1078,7 @@ open(mode: string): Promise<number>
...
@@ -1061,7 +1078,7 @@ open(mode: string): Promise<number>
**注意**
:当前写操作是互斥的操作,写操作完成后需要调用close进行释放
**注意**
:当前写操作是互斥的操作,写操作完成后需要调用close进行释放
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.
READ_DOCUMENT 或 ohos.permission.WRITE_MEDIA 或 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.
WRITE_MEDIA 或 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1079,20 +1096,21 @@ open(mode: string): Promise<number>
...
@@ -1079,20 +1096,21 @@ open(mode: string): Promise<number>
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
mediaType
=
mediaLibrary
.
MediaType
.
IMAGE
;
console
.
info
(
'
openDemo
'
)
let
DIR_IMAGE
=
mediaLibrary
.
DirectoryType
.
DIR_IMAGE
;
try
{
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
fileAsset
=
await
mgr
.
createPhotoAsset
(
"
image00003.jpg
"
);
const
path
=
await
userFileMgr
.
getPublicDirectory
(
DIR_IMAGE
);
let
fd
=
await
fileAsset
.
open
(
'
rw
'
)
const
asset
=
await
userFileMgr
.
createAsset
(
mediaType
,
"
image00003.jpg
"
,
path
);
if
(
fd
!=
undefined
)
{
asset
.
open
(
'
rw
'
)
console
.
info
(
'
File fd
'
+
fd
);
.
then
((
fd
)
=>
{
fileAsset
.
close
(
fd
)
console
.
info
(
'
File fd!
'
+
fd
);
}
else
{
})
console
.
info
(
'
open File fail
'
);
.
catch
((
err
)
=>
{
}
console
.
info
(
'
File err!
'
+
err
);
}
catch
(
err
)
{
});
console
.
info
(
'
open Demo err
'
+
err
);
}
}
}
```
```
...
@@ -1113,33 +1131,29 @@ close(fd: number, callback: AsyncCallback<void>): void
...
@@ -1113,33 +1131,29 @@ close(fd: number, callback: AsyncCallback<void>): void
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
console
.
info
(
'
closeDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
try
{
let
getImageOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
let
fetchOption
=
{
selectionArgs
:
[
imageType
.
toString
()],
fetchColumns
:
[],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
predicates
:
predicates
extendArgs
:
""
,
};
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
const
fileAsset
=
await
fetchResult
.
getFirstObject
();
const
asset
=
await
fetchFileResult
.
getFirstObject
();
let
fd
=
await
fileAsset
.
open
(
'
rw
'
);
asset
.
open
(
'
rw
'
).
then
((
fd
)
=>
{
console
.
info
(
'
file fd
'
,
fd
);
console
.
info
(
'
File fd!
'
+
fd
);
fileAsset
.
close
(
fd
,
(
err
)
=>
{
asset
.
close
(
fd
,
(
closeErr
)
=>
{
if
(
err
==
undefined
)
{
if
(
closeErr
!=
undefined
)
{
console
.
info
(
'
asset close succeed.
'
);
console
.
info
(
'
mediaLibraryTest : close : FAIL
'
+
closeErr
);
}
else
{
console
.
info
(
'
mediaLibraryTest : ASSET_CALLBACK : FAIL
'
);
console
.
info
(
'
close failed, message =
'
+
err
);
}
else
{
}
console
.
info
(
"
=======asset.close success====>
"
);
}
});
})
.
catch
((
err
)
=>
{
console
.
info
(
'
File err!
'
+
err
);
});
});
}
catch
(
err
)
{
console
.
info
(
'
close failed, message =
'
+
err
);
}
}
}
```
```
...
@@ -1165,34 +1179,24 @@ close(fd: number): Promise<void>
...
@@ -1165,34 +1179,24 @@ close(fd: number): Promise<void>
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
console
.
info
(
'
closeDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
try
{
let
getImageOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
let
fetchOption
=
{
selectionArgs
:
[
imageType
.
toString
()],
fetchColumns
:
[],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
predicates
:
predicates
extendArgs
:
""
,
};
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
const
asset
=
await
fetchResult
.
getFirstObject
();
const
asset
=
await
fetchFileResult
.
getFirstObject
();
let
fd
=
await
asset
.
open
(
'
rw
'
);
asset
.
open
(
'
rw
'
).
then
((
fd
)
=>
{
console
.
info
(
'
file fd
'
,
fd
);
console
.
info
(
'
File fd!
'
+
fd
);
await
asset
.
close
(
fd
)
asset
.
close
(
fd
).
then
((
closeErr
)
=>
{
console
.
info
(
'
asset close succeed.
'
);
if
(
closeErr
!=
undefined
)
{
}
catch
(
err
)
{
console
.
info
(
'
mediaLibraryTest : close : FAIL
'
+
closeErr
);
console
.
info
(
'
close failed, message =
'
+
err
);
console
.
info
(
'
mediaLibraryTest : ASSET_CALLBACK : FAIL
'
);
}
}
else
{
console
.
info
(
"
=======asset.close success====>
"
);
}
});
})
.
catch
((
err
)
=>
{
console
.
info
(
'
File err!
'
+
err
);
});
}
}
```
```
...
@@ -1202,7 +1206,7 @@ getThumbnail(callback: AsyncCallback<image.PixelMap>): void
...
@@ -1202,7 +1206,7 @@ getThumbnail(callback: AsyncCallback<image.PixelMap>): void
获取文件的缩略图,使用callback方式返回异步结果。
获取文件的缩略图,使用callback方式返回异步结果。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
or ohos.permission.READ_AUDIO or ohos.permission.READ_DOCUMENT
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
或 ohos.permission.READ_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1214,22 +1218,24 @@ getThumbnail(callback: AsyncCallback<image.PixelMap>): void
...
@@ -1214,22 +1218,24 @@ getThumbnail(callback: AsyncCallback<image.PixelMap>): void
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
console
.
info
(
'
getThumbnailDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
const
asset
=
await
fetchResult
.
getFirstObject
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
console
.
info
(
'
asset displayName =
'
,
asset
.
displayName
)
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
asset
.
getThumbnail
((
err
,
pixelMap
)
=>
{
const
asset
=
await
fetchFileResult
.
getFirstObject
();
if
(
err
==
undefined
)
{
asset
.
getThumbnail
((
err
,
pixelmap
)
=>
{
console
.
info
(
'
getThumbnail successful
'
+
pixelMap
);
console
.
info
(
'
mediaLibraryTest : getThumbnail Successfull
'
+
pixelmap
);
}
else
{
});
console
.
info
(
'
getThumbnail fail
'
,
err
);
}
});
}
}
```
```
...
@@ -1239,7 +1245,7 @@ getThumbnail(size: Size, callback: AsyncCallback<image.PixelMap>): void
...
@@ -1239,7 +1245,7 @@ getThumbnail(size: Size, callback: AsyncCallback<image.PixelMap>): void
获取文件的缩略图,传入缩略图尺寸,使用callback方式返回异步结果。
获取文件的缩略图,传入缩略图尺寸,使用callback方式返回异步结果。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
or ohos.permission.READ_AUDIO or ohos.permission.READ_DOCUMENT
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
或 ohos.permission.READ_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1247,402 +1253,159 @@ getThumbnail(size: Size, callback: AsyncCallback<image.PixelMap>): void
...
@@ -1247,402 +1253,159 @@ getThumbnail(size: Size, callback: AsyncCallback<image.PixelMap>): void
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------- |
| -------- | ----------------------------------- | ---- | ---------------- |
| size |
[
Size
](
#size
)
| 是 | 缩略图尺寸 |
| size |
Size
| 是 | 缩略图尺寸 |
| callback | AsyncCallback
<
[image.PixelMap](#../apis/js-apis-image.md#pixelmap7)
>
| 是 | 回调返回缩略图的PixelMap |
| callback | AsyncCallback
<
[image.PixelMap](#../apis/js-apis-image.md#pixelmap7)
>
| 是 | 回调返回缩略图的PixelMap |
**示例:**
**示例:**
```
js
```
ts
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
getImageOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
imageType
.
toString
()],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
extendArgs
:
""
,
};
let
size
=
{
width
:
720
,
height
:
720
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
const
asset
=
await
fetchFileResult
.
getFirstObject
();
asset
.
getThumbnail
(
size
,
(
err
,
pixelmap
)
=>
{
console
.
info
(
'
mediaLibraryTest : getThumbnail Successfull
'
+
pixelmap
);
});
}
```
### getThumbnail
getThumbnail(size?: Size): Promise
<
image.PixelMap
>
获取文件的缩略图,传入缩略图尺寸,使用promise方式返回异步结果。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO or ohos.permission.READ_AUDIO or ohos.permission.READ_DOCUMENT
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---- | -------------- | ---- | ----- |
| size |
[
Size
](
#size
)
| 否 | 缩略图尺寸 |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | --------------------- |
| Promise
<
[image.PixelMap](#../apis/js-apis-image.md#pixelmap7)
>
| Promise返回缩略图的PixelMap |
**示例:**
```
js
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
getImageOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
imageType
.
toString
()],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
extendArgs
:
""
,
};
let
size
=
{
width
:
720
,
height
:
720
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
const
asset
=
await
fetchFileResult
.
getFirstObject
();
asset
.
getThumbnail
(
size
)
.
then
((
pixelmap
)
=>
{
console
.
info
(
'
mediaLibraryTest : getThumbnail Successfull
'
+
pixelmap
);
})
.
catch
((
err
)
=>
{
console
.
info
(
'
mediaLibraryTest : getThumbnail fail
'
+
err
);
});
}
```
### favorite
favorite(isFavorite: boolean, callback: AsyncCallback
<
void
>
): void
将文件设置为收藏文件,使用callback方式返回异步结果。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | ---- | ---------------------------------- |
| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
| callback | AsyncCallback
<
void
>
| 是 | 回调返回空 |
**示例:**
```
js
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
getImageOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
imageType
.
toString
()],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
extendArgs
:
""
,
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
const
asset
=
await
fetchFileResult
.
getFirstObject
();
asset
.
favorite
(
true
,
function
(
err
){
// do something
});
}
```
### favorite
favorite(isFavorite: boolean): Promise
<
void
>
将文件设置为收藏文件,使用promise方式返回异步结果。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------- | ---- | ---------------------------------- |
| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------- |
| Promise
<
void
>
| Promise返回空 |
**示例:**
```
js
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
getImageOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
imageType
.
toString
()],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
extendArgs
:
""
,
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
fetchFileResult
=
await
userFileMgr
.
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
);
});
}
```
### isFavorite
isFavorite(callback: AsyncCallback
<
boolean
>
): void
判断该文件是否为收藏文件,使用callback方式返回异步结果。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ----------- |
| callback | AsyncCallback
<
boolean
>
| 是 | 回调表示是否为收藏文件 |
**示例:**
```
js
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
getImageOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
imageType
.
toString
()],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
extendArgs
:
""
,
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
fetchFileResult
=
await
userFileMgr
.
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
'
);
}
});
}
```
### isFavorite
isFavorite():Promise
<
boolean
>
判断该文件是否为收藏文件,使用promise方式返回异步结果。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**返回值:**
| 类型 | 说明 |
| ---------------------- | ------------------ |
| Promise
<
boolean
>
| Promise回调表示是否是收藏文件 |
**示例:**
```
js
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
getImageOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
imageType
.
toString
()],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
extendArgs
:
""
,
};
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
fetchFileResult
=
await
userFileMgr
.
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
);
});
}
```
### trash
trash(isTrash: boolean, callback: AsyncCallback
<
void
>
): void
当文件被定位时,将文件放到垃圾文件夹,使用callback方式返回异步结果。
放入垃圾文件夹的文件不会被真正删除,可以通过isTrash = false参数恢复成正常文件。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | --------- |
| isTrash | boolean | 是 | 是否设置为垃圾文件 |
| callback | AsyncCallback
<
void
>
| 是 | 回调返回空 |
**示例:**
```
js
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getThumbnailDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
size
=
{
width
:
720
,
height
:
720
};
};
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
asset
=
await
fetchResult
.
getFirstObject
();
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
console
.
info
(
'
asset displayName =
'
,
asset
.
displayName
)
const
asset
=
await
fetchFileResult
.
getFirstObject
();
asset
.
getThumbnail
(
size
,
(
err
,
pixelMap
)
=>
{
asset
.
trash
(
true
,
trashCallBack
);
if
(
err
==
undefined
)
{
function
trashCallBack
(
err
,
trash
)
{
console
.
info
(
'
getThumbnail successful
'
+
pixelMap
);
console
.
info
(
'
mediaLibraryTest : ASSET_CALLBACK ASSET_CALLBACK trash
'
);
}
else
{
console
.
info
(
'
getThumbnail fail
'
,
err
);
}
}
});
}
}
```
```
### trash
### getThumbnail
trash(isTrash: boolean): Promise
<
void
>
当文件被定位时,将文件放到垃圾文件夹,使用promise方式返回异步结果。
getThumbnail(size?: Size): Promise
<
image.PixelMap
>
放入垃圾文件夹的文件不会被真正删除,可以通过isTrash = false参数恢复成正常文件
。
获取文件的缩略图,传入缩略图尺寸,使用promise方式返回异步结果
。
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.
READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
**参数:**
| 参数名
| 类型 | 必填 | 说明
|
| 参数名
| 类型 | 必填 | 说明
|
| ----
--- | ------- | ---- | ----
----- |
| ----
| -------------- | ---- |
----- |
|
isTrash | boolean | 是 | 是否设置为垃圾文件
|
|
size | Size | 否 | 缩略图尺寸
|
**返回值:**
**返回值:**
| 类型
| 说明
|
| 类型
| 说明
|
| -------------------
|
---------- |
| -------------------
---------- | -----------
---------- |
| Promise
<
void
>
| Promise返回空
|
| Promise
<
[image.PixelMap](#../apis/js-apis-image.md#pixelmap7)
>
| Promise返回缩略图的PixelMap
|
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getThumbnailDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
size
=
{
width
:
720
,
height
:
720
};
};
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
asset
=
await
fetchResult
.
getFirstObject
();
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
console
.
info
(
'
asset displayName =
'
,
asset
.
displayName
)
const
asset
=
await
fetchFileResult
.
getFirstObject
();
asset
.
getThumbnail
(
size
).
then
((
pixelMap
)
=>
{
asset
.
trash
(
true
).
then
(
function
()
{
console
.
info
(
'
getThumbnail successful
'
+
pixelMap
);
console
.
info
(
"
trash successfully
"
);
}).
catch
((
err
)
=>
{
}).
catch
(
function
(
err
){
console
.
info
(
'
getThumbnail fail
'
+
err
);
console
.
info
(
"
trash failed with error:
"
+
err
);
});
});
}
}
```
```
### isTrash
### favorite
favorite(isFavorite: boolean, callback: AsyncCallback
<
void
>
): void
isTrash(callback: AsyncCallback
<
boolean
>
): void
将文件设置为收藏文件,使用callback方式返回异步结果。
当文件被定位,判断文件是否为垃圾文件,使用callback方式返回异步结果。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | --------------- |
| ---------- | ------------------------- | ---- | ---------------------------------- |
| callback | AsyncCallback
<
boolean
>
| 是 | 回调返回表示文件是否为垃圾文件 |
| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
| callback | AsyncCallback
<
void
>
| 是 | 回调返回空 |
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
favoriteDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
const
asset
=
await
fetchResult
.
getFirstObject
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
asset
.
favorite
(
true
,
(
err
)
=>
{
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
if
(
err
==
undefined
)
{
const
asset
=
await
fetchFileResult
.
getFirstObject
();
console
.
info
(
"
favorite successfully
"
);
asset
.
isTrash
((
err
,
isTrash
)
=>
{
}
else
{
if
(
isTrash
==
undefined
)
{
console
.
info
(
"
favorite failed with error:
"
+
err
);
console
.
error
(
'
Failed to get trash state:
'
+
err
);
}
return
;
});
}
console
.
info
(
'
Get trash state success:
'
+
isTrash
);
});
}
}
```
```
### isTrash
### favorite
favorite(isFavorite: boolean): Promise
<
void
>
isTrash():Promise
<
boolean
>
将文件设置为收藏文件,使用promise方式返回异步结果。
当文件被定位,判断文件是否为垃圾文件,使用promise方式返回异步结果。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------- | ---- | ---------------------------------- |
| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
**返回值:**
**返回值:**
| 类型 | 说明
|
| 类型 | 说明 |
| ------------------- | ----------
----------
|
| ------------------- | ---------- |
| Promise
<
void
>
| Promise
回调表示文件是否为垃圾文件
|
| Promise
<
void
>
| Promise
返回空
|
**示例:**
**示例:**
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
favoriteDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
};
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
const
asset
=
await
fetchResult
.
getFirstObject
();
const
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
asset
.
favorite
(
true
).
then
(
function
()
{
const
asset
=
await
fetchFileResult
.
getFirstObject
();
console
.
info
(
"
favorite successfully
"
);
asset
.
isTrash
().
then
(
function
(
isTrash
){
}).
catch
(
function
(
err
)
{
console
.
info
(
"
isTrash result:
"
+
isTrash
);
console
.
info
(
"
favorite failed with error:
"
+
err
);
}).
catch
(
function
(
err
){
});
console
.
error
(
"
isTrash failed with error:
"
+
err
);
});
}
}
```
```
## Fetch
File
Result
## FetchResult
文件检索结果集。
文件检索结果集。
...
@@ -1662,19 +1425,17 @@ getCount(): number
...
@@ -1662,19 +1425,17 @@ getCount(): number
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getCountDemo
'
)
let
fileType
=
mediaLibrary
.
MediaType
.
FILE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getFileCountOneOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
fileType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
const
fetchCount
=
fetchResult
.
getCount
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
console
.
info
(
'
fetchCount =
'
,
fetchCount
)
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getFileCountOneOp
);
const
fetchCount
=
fetchFileResult
.
getCount
();
}
}
```
```
...
@@ -1694,31 +1455,22 @@ isAfterLast(): boolean
...
@@ -1694,31 +1455,22 @@ isAfterLast(): boolean
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
fetchOption
=
{
let
getImageOp
=
{
fetchColumns
:
[],
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
predicates
:
predicates
selectionArgs
:
[
imageType
.
toString
()],
};
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
extendArgs
:
""
,
const
fetchCount
=
fetchResult
.
getCount
();
};
console
.
info
(
'
count:
'
+
fetchCount
);
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
let
fileAsset
=
await
fetchResult
.
getLastObject
();
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
if
(
!
fetchResult
.
isAfterLast
())
{
const
fetchCount
=
fetchFileResult
.
getCount
();
console
.
info
(
'
fileAsset isAfterLast displayName =
'
,
fileAsset
.
displayName
);
console
.
info
(
'
mediaLibraryTest : count:
'
+
fetchCount
);
}
else
{
let
fileAsset
=
await
fetchFileResult
.
getFirstObject
();
console
.
info
(
'
fileAsset not isAfterLast
'
);
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
();
}
}
}
}
```
```
...
@@ -1732,27 +1484,25 @@ close(): void
...
@@ -1732,27 +1484,25 @@ close(): void
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
fetchResultCloseDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
await
fetchResult
.
close
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
console
.
info
(
'
close succeed.
'
)
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
fetchFileResult
.
close
();
}
}
```
```
### getFirstObject
### getFirstObject
getFirstObject(callback: AsyncCallback
<
FileAsset
>
): void
getFirstObject(callback: AsyncCallback
<
T
>
): void
获取文件检索结果中的第一个文件资产。此方法使用
回调返回FileAsset
。
获取文件检索结果中的第一个文件资产。此方法使用
callback形式返回结果
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1760,37 +1510,34 @@ getFirstObject(callback: AsyncCallback<FileAsset>): void
...
@@ -1760,37 +1510,34 @@ getFirstObject(callback: AsyncCallback<FileAsset>): void
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
| callback | AsyncCallback
<
[FileAsset](#fileasset)
>
| 是 | 异步获取结果集中第一个FileAsset
完成后的回调 |
| callback | AsyncCallback
<
T
>
| 是 | 异步获取结果集中的第一个
完成后的回调 |
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getFirstObjectDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
fetchResult
.
getFirstObject
((
err
,
fileAsset
)
=>
{
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
if
(
fileAsset
!=
undefined
)
{
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
console
.
info
(
'
fileAsset displayName:
'
,
fileAsset
.
displayName
)
fetchFileResult
.
getFirstObject
((
err
,
fileAsset
)
=>
{
}
else
{
if
(
err
)
{
console
.
info
(
"
fileAsset failed with err:
"
+
err
);
console
.
error
(
'
Failed
'
);
}
return
;
});
}
console
.
log
(
'
fileAsset.displayName :
'
+
fileAsset
.
displayName
);
})
}
}
```
```
### getFirstObject
### getFirstObject
getFirstObject(): Promise
<
FileAsset
>
getFirstObject(): Promise
<
T
>
获取文件检索结果中的第一个文件资产。此方法使用
Promise方式返回FileAsset
。
获取文件检索结果中的第一个文件资产。此方法使用
promise方式来异步返回
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1798,33 +1545,27 @@ getFirstObject(): Promise<FileAsset>
...
@@ -1798,33 +1545,27 @@ getFirstObject(): Promise<FileAsset>
| 类型 | 说明 |
| 类型 | 说明 |
| --------------------------------------- | -------------------------- |
| --------------------------------------- | -------------------------- |
| Promise
<
[FileAsset](#fileasset)
>
| Promise方式返回FileAsset
。 |
| Promise
<
T
>
| Promise方式返回
。 |
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getFirstObjectDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
console
.
info
(
'
fileAsset displayName:
'
,
fileAsset
.
displayName
)
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
fetchFileResult
.
getFirstObject
().
then
(
function
(
fileAsset
){
console
.
info
(
"
getFirstObject successfully:
"
+
JSON
.
stringify
(
fileAsset
));
}).
catch
(
function
(
err
){
console
.
info
(
"
getFirstObject failed with error:
"
+
err
);
});
}
}
```
```
### getNextObject
### getNextObject
getNextObject(callback: AsyncCallback
<
FileAsset
>
): void
getNextObject(callback: AsyncCallback
<
T
>
): void
获取文件检索结果中的下一个文件资产。此方法使用callback形式返回结果。
获取文件检索结果中的下一个文件资产。此方法使用callback形式返回结果。
...
@@ -1834,37 +1575,37 @@ async function example() {
...
@@ -1834,37 +1575,37 @@ async function example() {
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------------- | ---- | ----------------------------------------- |
| --------- | --------------------------------------------- | ---- | ----------------------------------------- |
| callbacke | AsyncCallback
<
[FileAsset](#fileasset)
>
| 是 | 异步返回结果集中下一个FileAsset
之后的回调 |
| callbacke | AsyncCallback
<
T
>
| 是 | 异步返回结果集中下一个
之后的回调 |
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getNextObjectDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
;
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[]
,
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
}
;
await
fetchResult
.
getFirstObject
()
;
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
if
(
fetchResult
.
isAfterLast
())
{
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
fetchResult
.
getNextObject
((
err
,
fileAsset
)
=>
{
fetchFileResult
.
getNextObject
((
err
,
fileAsset
)
=>
{
if
(
fileAsset
!=
undefined
)
{
if
(
err
)
{
console
.
info
(
'
fileAsset displayName:
'
,
fileAsset
.
displayName
)
console
.
error
(
'
Failed
'
);
}
else
{
return
;
console
.
info
(
"
fileAsset failed with err:
"
+
err
)
;
}
}
console
.
log
(
'
fileAsset.displayName :
'
+
fileAsset
.
displayName
);
}
);
})
}
}
}
```
```
### getNextObject
### getNextObject
getNextObject(): Promise
<
FileAsset
>
getNextObject(): Promise
<
T
>
获取文件检索结果中的下一个文件资产。此方法使用promise方式来异步返回
FileAsset
。
获取文件检索结果中的下一个文件资产。此方法使用promise方式来异步返回。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1872,33 +1613,32 @@ async function example() {
...
@@ -1872,33 +1613,32 @@ async function example() {
| 类型 | 说明 |
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| --------------------------------------- | ----------------- |
| Promise
<
[FileAsset](#fileasset)
>
| 返回FileAsset
对象 |
| Promise
<
T
>
| 返回结果集中下一个
对象 |
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getNextObjectDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
await
fetchResult
.
getFirstObject
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
if
(
fetchResult
.
isAfterLast
())
{
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
let
fileAsset
=
await
fetchResult
.
getNextObject
();
const
fetchCount
=
fetchFileResult
.
getCount
();
console
.
info
(
'
fileAsset displayName:
'
,
fileAsset
.
displayName
)
console
.
info
(
'
mediaLibraryTest : count:
'
+
fetchCount
);
}
let
fileAsset
=
await
fetchFileResult
.
getNextObject
();
}
}
```
```
### getLastObject
### getLastObject
getLastObject(callback: AsyncCallback
<
FileAsset
>
): void
getLastObject(callback: AsyncCallback
<
T
>
): void
获取文件检索结果中的最后一个文件资产。此方法使用callback回调来返回
FileAsset
。
获取文件检索结果中的最后一个文件资产。此方法使用callback回调来返回。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1906,37 +1646,34 @@ getLastObject(callback: AsyncCallback<FileAsset>): void
...
@@ -1906,37 +1646,34 @@ getLastObject(callback: AsyncCallback<FileAsset>): void
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------- | ---- | --------------------------- |
| -------- | --------------------------------------------- | ---- | --------------------------- |
| callback | AsyncCallback
<
[FileAsset](#fileasset)
>
| 是 | 异步返回FileAsset之后
的回调 |
| callback | AsyncCallback
<
T
>
| 是 | 异步返回结果集中最后一个
的回调 |
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getLastObjectDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
fetchResult
.
getLastObject
((
err
,
fileAsset
)
=>
{
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
if
(
fileAsset
!=
undefined
)
{
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
console
.
info
(
'
fileAsset displayName:
'
,
fileAsset
.
displayName
)
fetchFileResult
.
getLastObject
((
err
,
fileAsset
)
=>
{
}
else
{
if
(
err
)
{
console
.
info
(
"
fileAsset failed with err:
"
+
err
);
console
.
error
(
'
Failed
'
);
}
return
;
});
}
console
.
log
(
'
fileAsset.displayName :
'
+
fileAsset
.
displayName
);
})
}
}
```
```
### getLastObject
### getLastObject
getLastObject(): Promise
<
FileAsset
>
getLastObject(): Promise
<
T
>
获取文件检索结果中的最后一个文件资产。此方法使用Promise方式来返回
FileAsset
。
获取文件检索结果中的最后一个文件资产。此方法使用Promise方式来返回。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1944,31 +1681,29 @@ getLastObject(): Promise<FileAsset>
...
@@ -1944,31 +1681,29 @@ getLastObject(): Promise<FileAsset>
| 类型 | 说明 |
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| --------------------------------------- | ----------------- |
| Promise
<
[FileAsset](#fileasset)
>
| 返回FileAsset
对象 |
| Promise
<
T
>
| 返回结果集中最后一个
对象 |
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getLastObjectDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
let
fileAsset
=
await
fetchResult
.
getLastObject
();
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
console
.
info
(
'
fileAsset displayName:
'
,
fileAsset
.
displayName
)
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
let
lastObject
=
await
fetchFileResult
.
getLastObject
();
}
}
```
```
### getPositionObject
### getPositionObject
getPositionObject(index: number, callback: AsyncCallback
<
FileAsset
>
): void
getPositionObject(index: number, callback: AsyncCallback
<
T
>
): void
获取文件检索结果中具有指定索引的文件资产。此方法使用
回调来返回FileAsset
。
获取文件检索结果中具有指定索引的文件资产。此方法使用
callback来返回
。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -1977,35 +1712,32 @@ getPositionObject(index: number, callback: AsyncCallback<FileAsset>): void
...
@@ -1977,35 +1712,32 @@ getPositionObject(index: number, callback: AsyncCallback<FileAsset>): void
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------ |
| -------- | ---------------------------------------- | ---- | ------------------ |
| index | number | 是 | 要获取的文件的索引,从0开始 |
| index | number | 是 | 要获取的文件的索引,从0开始 |
| callback | AsyncCallback
<
[FileAsset](#fileasset)
>
| 是 | 异步返回FileAsset之后
的回调 |
| callback | AsyncCallback
<
T
>
| 是 | 异步返回指定索引的文件资产
的回调 |
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getPositionObjectDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
fetchResult
.
getPositionObject
(
0
,
(
err
,
fileAsset
)
=>
{
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
if
(
fileAsset
!=
undefined
)
{
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
console
.
info
(
'
fileAsset displayName:
'
,
fileAsset
.
displayName
)
fetchFileResult
.
getPositionObject
(
0
,
(
err
,
fileAsset
)
=>
{
}
else
{
if
(
err
)
{
console
.
info
(
"
fileAsset failed with err:
"
+
err
);
console
.
error
(
'
Failed
'
);
}
return
;
});
}
console
.
log
(
'
fileAsset.displayName :
'
+
fileAsset
.
displayName
);
})
}
}
```
```
### getPositionObject
### getPositionObject
getPositionObject(index: number): Promise
<
FileAsset
>
getPositionObject(index: number): Promise
<
T
>
获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。
获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。
...
@@ -2021,27 +1753,21 @@ getPositionObject(index: number): Promise<FileAsset>
...
@@ -2021,27 +1753,21 @@ getPositionObject(index: number): Promise<FileAsset>
| 类型 | 说明 |
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| --------------------------------------- | ----------------- |
| Promise
<
[FileAsset](#fileasset)
>
| 返回FileAsset
对象 |
| Promise
<
T
>
| 返回指定索引的文件资产的
对象 |
**示例**
:
**示例**
:
```
j
s
```
t
s
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
console
.
info
(
'
getPositionObjectDemo
'
)
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
getImageOp
=
{
let
fetchOption
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
fetchColumns
:
[],
selectionArgs
:
[
imageType
.
toString
()],
predicates
:
predicates
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
extendArgs
:
""
,
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOption
);
};
let
fileAsset
=
await
fetchResult
.
getPositionObject
(
0
);
let
userFileMgr
=
userfile_manager
.
getUserFileMgr
(
context
);
console
.
info
(
'
fileAsset displayName:
'
,
fileAsset
.
displayName
)
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
(
getImageOp
);
fetchFileResult
.
getPositionObject
(
1
)
.
then
(
function
(
fileAsset
){
console
.
log
(
'
fileAsset.displayName :
'
+
fileAsset
.
displayName
);
}).
catch
(
function
(
err
)
{
console
.
info
(
"
getFileAssets failed with error:
"
+
err
);
});
}
}
```
```
...
@@ -2059,16 +1785,98 @@ async function example() {
...
@@ -2059,16 +1785,98 @@ async function example() {
| albumUri | string | 是 | 否 | 相册Uri |
| albumUri | string | 是 | 否 | 相册Uri |
| dateModified | number | 是 | 否 | 修改日期 |
| dateModified | number | 是 | 否 | 修改日期 |
| count | number | 是 | 否 | 相册中文件数量 |
| count | number | 是 | 否 | 相册中文件数量 |
| relativePath | string | 是 | 否 | 相对路径 |
| coverUri | string | 是 | 否 | 封面文件Uri
| coverUri | string | 是 | 否 | 封面文件Uri
### getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback
<
FetchResult
<
FileAsset
>>
): void;
获取相册中的文件。该方法使用callback形式来返回文件
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| options |
[
FetchOptions
](
#fetchoptions
)
| 是 | 检索选项 |
| callback | AsyncCallback
<
[FetchResult](#fetchresult)
<
[FileAsset](#fileasset)
>>
| 是 | callback 返回图片和视频数据结果集|
**示例**
:
```
ts
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
.
info
(
"
album getPhotoAssets failed with error:
"
+
err
);
}
});
}
```
### getPhotoAssets
getPhotoAssets(options: FetchOptions): Promise
<
FetchResult
<
FileAsset
>>
;
获取相册中的文件。该方法使用Promise来返回文件
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| options |
[
FetchOptions
](
#fetchoptions
)
| 是 | 检索选项 |
| Promise |
[
FetchResult
](
#fetchresult
)
<
[FileAsset](#fileasset)
>
| 是 | 图片和视频数据结果集 |
**示例**
:
```
ts
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
.
info
(
"
album getFileAssets failed with error:
"
+
err
);
});
}
```
### commitModify
### commitModify
commitModify(callback: AsyncCallback
<
void
>
): void;
commitModify(callback: AsyncCallback
<
void
>
): void;
更新相册属性修改到数据库中。
更新相册属性修改到数据库中。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -2081,28 +1889,22 @@ commitModify(callback: AsyncCallback<void>): void;
...
@@ -2081,28 +1889,22 @@ commitModify(callback: AsyncCallback<void>): void;
**示例**
:
**示例**
:
```
ts
```
ts
async
function
commitModifyDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
commitModifyDemo
'
)
console
.
info
(
'
albumCommitModifyDemo
'
)
let
fileKeyObj
=
userfile_manager
.
FileKey
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
imageType
=
userfile_manager
.
MediaType
.
IMAGE
;
let
albumFetchOptions
=
{
let
getImageOp
=
{
predicates
:
predicates
selections
:
''
,
};
selectionArgs
:
[],
const
albumList
=
await
mgr
.
getPhotoAlbums
(
albumFetchOptions
);
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
const
album
=
await
albumList
.
getFirstObject
();
extendArgs
:
""
,
album
.
albumName
=
'
hello
'
;
};
album
.
commitModify
((
err
)
=>
{
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
([
imageType
],
getImageOp
);
if
(
err
!=
undefined
)
{
let
asset
=
await
fetchFileResult
.
getFirstObject
();
console
.
info
(
"
commitModify failed with error:
"
+
err
);
console
.
info
(
'
old displayName:
'
,
asset
.
displayName
)
}
else
{
asset
.
displayName
=
'
newDisplayName
'
;
console
.
info
(
"
commitModify successfully
"
);
console
.
info
(
'
new displayName:
'
,
asset
.
displayName
)
}
asset
.
commitModify
((
err
)
=>
{
});
if
(
err
==
undefined
)
{
console
.
info
(
'
commitModify succeed.
'
)
}
else
{
console
.
info
(
'
commitModify failed, message =
'
,
err
);
}
});
}
}
```
```
...
@@ -2112,7 +1914,7 @@ commitModify(): Promise<void>;
...
@@ -2112,7 +1914,7 @@ commitModify(): Promise<void>;
更新相册属性修改到数据库中。
更新相册属性修改到数据库中。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
或 ohos.permission.WRITE_AUDIO 或 ohos.permission.WRITE_DOCUMENT
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
...
@@ -2125,265 +1927,323 @@ commitModify(): Promise<void>;
...
@@ -2125,265 +1927,323 @@ commitModify(): Promise<void>;
**示例**
:
**示例**
:
```
ts
```
ts
async
function
commitModifyDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
commitModifyDemo
'
)
console
.
info
(
'
albumCommitModifyDemo
'
)
let
fileKeyObj
=
userfile_manager
.
FileKey
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
imageType
=
userfile_manager
.
MediaType
.
IMAGE
;
let
albumFetchOptions
=
{
let
getImageOp
=
{
predicates
:
predicates
selections
:
''
,
};
selectionArgs
:
[],
try
{
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
var
albumList
=
await
mgr
.
getPhotoAlbums
(
albumFetchOptions
);
extendArgs
:
""
,
}
catch
(
err
)
{
};
console
.
info
(
'
getPhotoAlbums failed. message =
'
,
err
);
let
fetchFileResult
=
await
userFileMgr
.
getFileAssets
([
imageType
],
getImageOp
);
}
let
asset
=
await
fetchFileResult
.
getFirstObject
();
const
album
=
await
albumList
.
getFirstObject
();
console
.
info
(
'
old displayName:
'
,
asset
.
displayName
)
album
.
albumName
=
'
hello
'
;
asset
.
displayName
=
'
newDisplayName
'
;
album
.
commitModify
().
then
(()
=>
{
console
.
info
(
'
new displayName:
'
,
asset
.
displayName
)
console
.
info
(
"
commitModify successfully
"
);
try
{
}).
catch
((
err
)
=>
{
await
asset
.
commitModify
();
console
.
info
(
"
commitModify failed with error:
"
+
err
);
console
.
info
(
'
commitModify succeed.
'
)
});
}
catch
(
err
)
{
console
.
info
(
'
commitModify failed, message =
'
,
err
);
}
}
}
```
```
### getFileAssets
## PrivateAlbum
系统相册
### 属性
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------ | ------ | ---- | ---- | ------- |
| albumName | string | 是 | 是 | 相册名称 |
| albumUri | string | 是 | 否 | 相册Uri |
| dateModified | number | 是 | 否 | 修改日期 |
| count | number | 是 | 否 | 相册中文件数量 |
| coverUri | string | 是 | 否 | 封面文件Uri
### getPhotoAssets
get
FileAssets(type: Array
<
MediaType
>
, callback: AsyncCallback
<
FetchFileResult
>
): void;
get
PhotoAssets(options: FetchOptions, callback: AsyncCallback
<
FetchResult
<
FileAsset
>
>
): void;
按照检索条件获取相册中的文件。此方法使用Callback回调来返回文件结果集。
获取系统相册中的文件。该方法使用callback形式来返回文件
**需要权限**
:ohos.permission.
READ_IMAGEVIDEO or ohos.permission.READ_AUDIO or ohos.permission.READ_DOCUMENT
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
:
**参数**
:
| 参数名 | 类型
| 必填 | 说明
|
| 参数名 | 类型
| 必填 | 说明
|
| -------- | -------------------------
-------------------------- | ---- | -------------------------
---------- |
| -------- | -------------------------
| ---- |
---------- |
|
type | Array
<
[MediaType](#mediatype)
>
| 是 | 媒体类型检索选项。
|
|
options |
[
FetchOptions
](
#fetchoptions
)
| 是 | 检索选项
|
| callback | AsyncCallback
<
[
FetchFileResult
](
#fetchfileresult
)
>
| 是 | 异步返回FetchFileResult之后的回调。
|
| callback | AsyncCallback
<
[FetchResult](#fetchresult)
<
[FileAsset](#fileasset)
>>
| 是 | callback返回图片和视频数据结果集
|
**示例**
:
**示例**
:
```
ts
```
ts
async
function
albumGetFileAssetsDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
albumGetFileAssetsDemoCallback2
'
)
console
.
info
(
'
privateAlbumGetFileAssetsDemoCallback
'
)
let
imageType
=
userfile_manager
.
MediaType
.
IMAGE
;
let
albumList
=
await
mgr
.
getPrivateAlbum
(
userFileManager
.
PrivateAlbumType
.
TYPE_TRASH
);
let
AlbumNoArgsfetchOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
''
,
let
fetchOption
=
{
selectionArgs
:
[],
fetchColumns
:
[],
};
predicates
:
predicates
const
albumList
=
await
userFileMgr
.
getAlbums
([
imageType
],
AlbumNoArgsfetchOp
);
};
const
album
=
albumList
[
0
];
const
trashAlbum
=
await
albumList
.
getFirstObject
();
album
.
getFileAssets
([
imageType
],
(
err
,
albumFetchFileResult
)
=>
{
trashAlbum
.
getPhotoAssets
(
fetchOption
,
(
err
,
fetchResult
)
=>
{
if
(
err
==
undefined
)
{
if
(
fetchResult
!=
undefined
)
{
console
.
info
(
"
getFileAssets successfully:
"
+
JSON
.
stringify
(
albumFetchFileResult
));
let
count
=
fetchResult
.
getCount
();
}
else
{
console
.
info
(
'
fetchResult.count =
'
,
count
);
console
.
info
(
"
getFileAssets failed with error:
"
+
err
);
}
else
{
}
console
.
info
(
'
getFileAssets failed, message =
'
,
err
);
});
}
});
}
}
```
### getFileAssets
```
### getPhotoAssets
get
FileAssets(type: Array
<
MediaType
>
, options: MediaFetchOptions, callback: AsyncCallback
<
FetchFileResult
>
): void
;
get
PhotoAssets(options: FetchOptions): Promise
<
FetchResult
<
FileAsset
>>
;
按照检索条件获取相册中的文件。此方法使用Callback回调来返回文件结果集。
获取系统相册中的文件。该方法使用Promise来返回文件
**需要权限**
:ohos.permission.
READ_IMAGEVIDEO or ohos.permission.READ_AUDIO or ohos.permission.READ_DOCUMENT
**需要权限**
:ohos.permission.
WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
:
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------- | ---- | ----------------------------------- |
| -------- | ------------------------- | ---- | ---------- |
| type | Array
<
[MediaType](#mediatype)
>
| 是 | 媒体类型检索选项。 |
| options |
[
FetchOptions
](
#fetchoptions
)
| 是 | 检索选项 |
| options |
[
MediaFetchOptions
](
#mediafetchoptions
)
| 是 | 媒体检索选项。 |
| callback | AsyncCallback
<
[
FetchFileResult
](
#fetchfileresult
)
>
| 是 | 异步返回FetchFileResult之后的回调。 |
**返回值**
:
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise:
[
FetchResult
](
#fetchresult
)
<
[FileAsset](#fileasset)
>
| 图片和视频数据结果集 |
**示例**
:
**示例**
:
```
ts
```
ts
async
function
albumGetFileAssetsDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
albumGetFileAssetsDemoCallback
'
)
console
.
info
(
'
privateAlbumGetFileAssetsDemoPromise
'
)
let
imageType
=
userfile_manager
.
MediaType
.
IMAGE
;
let
albumList
=
await
mgr
.
getPrivateAlbum
(
userFileManager
.
PrivateAlbumType
.
TYPE_TRASH
);
let
AlbumNoArgsfetchOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
''
,
let
fetchOption
=
{
selectionArgs
:
[],
fetchColumns
:
[],
};
predicates
:
predicates
let
fileNoArgsfetchOp
=
{
};
selections
:
''
,
const
trashAlbum
=
await
albumList
.
getFirstObject
();
selectionArgs
:
[],
let
fetchResult
=
await
trashAlbum
.
getPhotoAssets
(
fetchOption
);
}
let
count
=
fetchResult
.
getCount
();
const
albumList
=
await
userFileMgr
.
getAlbums
([
imageType
],
AlbumNoArgsfetchOp
);
console
.
info
(
'
fetchResult.count =
'
,
count
);
const
album
=
albumList
[
0
];
}
album
.
getFileAssets
([
imageType
],
fileNoArgsfetchOp
,
(
err
,
albumFetchFileResult
)
=>
{
if
(
err
==
undefined
)
{
console
.
info
(
"
getFileAssets successfully:
"
+
JSON
.
stringify
(
albumFetchFileResult
));
}
else
{
console
.
info
(
"
getFileAssets failed with error:
"
+
err
);
}
});
}
```
```
### delete
delete(uri: string, callback: AsyncCallback
<
void
>
): void;
### getFileAssets
删除系统相册中的文件
getFileAssets(type: Array
<
MediaType
>
, options?: MediaFetchOptions): Promise
<
FetchFileResult
>
;
**需要权限**
: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
>
| 是 | 回调返回空 |
**示例**
:
```
ts
async
function
example
()
{
console
.
info
(
'
privateAlbumDeleteCallback
'
);
let
albumList
=
await
mgr
.
getPrivateAlbum
(
userFileManager
.
PrivateAlbumType
.
TYPE_TRASH
);
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOption
=
{
fetchColumns
:
[],
predicates
:
predicates
};
const
trashAlbum
=
await
albumList
.
getFirstObject
();
let
fetchResult
=
await
trashAlbum
.
getPhotoAssets
(
fetchOption
);
const
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
deleteFileUri
=
fileAsset
.
uri
;
trashAlbum
.
delete
(
deleteFileUri
,
(
err
)
=>
{
if
(
err
!=
undefined
)
{
console
.
info
(
'
trashAlbum.delete failed, message =
'
,
err
);
}
else
{
console
.
info
(
'
trashAlbum.delete successfully
'
);
}
});
}
```
### delete
按照检索条件获取相册中的文件。此方法使用异步Promise来返回文件结果集。
delete(uri: string): Promise
<
void
>
;
**需要权限**
:ohos.permission.READ_IMAGEVIDEO or ohos.permission.READ_AUDIO or ohos.permission.READ_DOCUMENT
删除系统相册中的文件
**需要权限**
:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
:
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------------- | ---- | -------------- |
| -------- | ------------------------- | ---- | ---------- |
| type | Array
<
[MediaType](#mediatype)
>
| 是 | 媒体类型检索选项。 |
| uri | string | 是 | 相册uri |
|options |
[
MediaFetchOptions
](
#mediafetchoptions
)
| 否 | 媒体检索选项。 |
**返回值**
:
**返回值**
:
| 类型
| 说明
|
| 类型
| 说明
|
| ---------------------------------------
------ | --------
----------------- |
| ---------------------------------------
|
----------------- |
| Promise
<
[
FetchFileResult
](
#fetchfileresult
)
>
| 返回FetchFileResult对象。
|
| Promise
<
void
>
| 回调返回空
|
**示例**
:
**示例**
:
```
ts
```
ts
async
function
albumGetFileAssetsDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
albumGetFileAssetsDemoPromise
'
)
console
.
info
(
'
privateAlbumDeleteDemoPromise
'
)
let
imageType
=
userfile_manager
.
MediaType
.
IMAGE
;
let
albumList
=
await
mgr
.
getPrivateAlbum
(
userFileManager
.
PrivateAlbumType
.
TYPE_TRASH
);
let
AlbumNoArgsfetchOp
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
''
,
let
fetchOption
=
{
selectionArgs
:
[],
fetchColumns
:
[],
};
predicates
:
predicates
let
fileNoArgsfetchOp
=
{
};
selections
:
''
,
const
trashAlbum
=
await
albumList
.
getFirstObject
();
selectionArgs
:
[],
let
fetchResult
=
await
trashAlbum
.
getPhotoAssets
(
fetchOption
);
}
const
fileAsset
=
await
fetchResult
.
getFirstObject
();
const
albumList
=
await
userFileMgr
.
getAlbums
([
imageType
],
AlbumNoArgsfetchOp
);
let
deleteFileUri
=
fileAsset
.
uri
;
const
album
=
albumList
[
0
];
trashAlbum
.
delete
(
deleteFileUri
).
then
(()
=>
{
album
.
getFileAssets
([
imageType
],
fileNoArgsfetchOp
).
then
(
function
(
albumFetchFileResult
){
console
.
info
(
'
trashAlbum.delete successfully
'
);
console
.
info
(
"
getFileAssets successfully:
"
+
JSON
.
stringify
(
albumFetchFileResult
));
}).
catch
((
err
)
=>
{
}).
catch
(
function
(
err
){
console
.
info
(
'
trashAlbum.delete failed, message =
'
,
err
);
console
.
info
(
"
getFileAssets failed with error:
"
+
err
);
});
});
}
}
```
```
## VirtualAlbum
虚拟相册
### getFileAssets
getFileAssets(type: Array
<
MediaType
>
, options: MediaFetchOptions, callback: AsyncCallback
<
FetchFileResult
>
): void;
按照检索条件获取虚拟相册中的文件。此方法使用Callback回调来返回文件结果集。
### recover
此接口为系统接口。
recover(uri: string, callback: AsyncCallback
<
void
>
): void;
**需要权限**
:ohos.permission.READ_IMAGEVIDEO or ohos.permission.READ_AUDIO or ohos.permission.READ_DOCUMENTS
恢复系统相册中的文件
> 说明:
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
> 本接口所需申请的分类的权限APL等级为system_basic。APL等级为normal的应用需要通过ACL证书方式申请,申请方式请参考[ACL说明](../../security/accesstoken-overview.md#访问控制列表acl说明)
>
> 建议通过options参数显式地指定要访问的文件类型。若无法判断文件类型,则会根据应用实际申请的权限返回对应的文件资源结果集。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
:
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
|
-------- | --------------------------------------------------- | ---- | -----------------------------------
|
|
参数名 | 类型 | 必填 | 说明
|
|
type | Array
<
[MediaType](#mediatype)
>
| 是 | 媒体类型检索选项。
|
|
-------- | ------------------------- | ---- | ----------
|
|
options |
[
MediaFetchOptions
](
#mediafetchoptions
)
| 是 | 媒体检索选项。
|
|
uri | string | 是 | 相册uri
|
| callback | AsyncCallback
<
[
FetchFileResult
](
#fetchfileresult
)
>
| 是 | 异步返回FetchFileResult之后的回调。
|
| callback | AsyncCallback
<
void
>
| 是 | 回调返回空
|
**示例**
:
**示例**
:
```
ts
```
ts
async
function
virtualAlbumGetFileAssetsDemoCallback
()
{
async
function
example
()
{
console
.
info
(
'
virtualAlbumGetFileAssetsDemoCallback
'
)
console
.
info
(
'
privateAlbumRecoverDemoCallback
'
);
try
{
let
albumList
=
await
mgr
.
getPrivateAlbum
(
userFileManager
.
PrivateAlbumType
.
TYPE_TRASH
);
var
albumArray
=
await
userFileMgr
.
getPrivateAlbum
(
userfile_manager
.
VirtualAlbumType
.
TYPE_TRASH
);
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
}
catch
(
err
)
{
let
fetchOption
=
{
console
.
info
(
'
getPrivateAlbum failed, message =
'
,
err
);
fetchColumns
:
[],
predicates
:
predicates
};
const
trashAlbum
=
await
albumList
.
getFirstObject
();
let
fetchResult
=
await
trashAlbum
.
getPhotoAssets
(
fetchOption
);
const
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
recoverFileUri
=
fileAsset
.
uri
;
trashAlbum
.
recover
(
recoverFileUri
,
(
err
)
=>
{
if
(
err
!=
undefined
)
{
console
.
info
(
'
trashAlbum.recover failed, message =
'
,
err
);
}
else
{
console
.
info
(
'
trashAlbum.recover successfully
'
);
}
}
let
fetchOpt
=
{
});
selections
:
''
,
selectionArgs
:
[],
};
let
trashAlbum
=
albumArray
[
0
];
trashAlbum
.
getFileAssets
([
userfile_manager
.
MediaType
.
IMAGE
],
fetchOpt
,
(
err
,
fetchResult
)
=>
{
if
(
err
==
undefined
)
{
let
count
=
fetchResult
.
getCount
();
console
.
info
(
'
fetchResult.count =
'
,
count
);
}
else
{
console
.
info
(
'
getFileAssets failed, message =
'
,
err
);
}
});
}
}
```
```
### recover
### getFileAssets
recover(uri: string): Promise
<
void
>
;
getFileAssets(type: Array
<
MediaType
>
, options: MediaFetchOptions): Promise
<
FetchFileResult
>
;
按照检索条件获取虚拟相中的文件。此方法使用异步Promise来返回文件结果集。
此接口为系统接口。
恢复系统相册中的文件
**需要权限**
:ohos.permission.READ_IMAGEVIDEO or ohos.permission.READ_AUDIO or ohos.permission.READ_DOCUMENTS
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
> 说明:
> 本接口所需申请的分类的权限APL等级为system_basic。APL等级为normal的应用需要通过ACL证书方式申请,申请方式请参考[ACL说明](../../security/accesstoken-overview.md#访问控制列表acl说明)
>
> 建议通过options参数显式地指定要访问的文件类型。若无法判断文件类型,则会根据应用实际申请的权限返回对应的文件资源结果集。
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数**
:
**参数**
:
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------------- | ---- | -------------- |
| -------- | ------------------------- | ---- | ---------- |
| type | Array
<
[MediaType](#mediatype)
>
| 是 | 媒体类型检索选项。 |
| uri | string | 是 | 相册uri |
|options |
[
MediaFetchOptions
](
#mediafetchoptions
)
| 否 | 媒体检索选项。 |
**返回值**
:
**返回值**
:
| 类型
| 说明
|
| 类型
| 说明
|
| ---------------------------------------
------ | --------
----------------- |
| ---------------------------------------
|
----------------- |
| Promise
<
[
FetchFileResult
](
#fetchfileresult
)
>
| 返回FetchFileResult对象。
|
| Promise
<
void
>
| 回调返回空
|
**示例**
:
**示例**
:
```
ts
```
ts
async
function
virtualAlbumGetFileAssetsDemoPromise
()
{
async
function
example
()
{
console
.
info
(
'
virtualAlbumGetFileAssetsDemoPromise
'
)
console
.
info
(
'
privateAlbumRecoverDemoPromise
'
)
let
albumArray
=
await
userFileMgr
.
getPrivateAlbum
(
userfile_manager
.
VirtualAlbumType
.
TYPE_TRASH
);
let
albumList
=
await
mgr
.
getPrivateAlbum
(
userFileManager
.
PrivateAlbumType
.
TYPE_TRASH
);
let
fetchOpt
=
{
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
selections
:
''
,
let
fetchOption
=
{
selectionArgs
:
[],
fetchColumns
:
[],
};
predicates
:
predicates
let
trashAlbum
=
albumArray
[
0
];
};
const
trashAlbum
=
await
albumList
.
getFirstObject
();
let
fetchResult
=
await
trashAlbum
.
getFileAssets
([
userfile_manager
.
MediaType
.
IMAGE
],
fetchOpt
);
let
fetchResult
=
await
trashAlbum
.
getPhotoAssets
(
fetchOption
);
let
count
=
fetchResult
.
getCount
();
const
fileAsset
=
await
fetchResult
.
getFirstObject
();
console
.
info
(
'
fetchResult.count =
'
,
count
);
let
recoverFileUri
=
fileAsset
.
uri
;
trashAlbum
.
recover
(
recoverFileUri
).
then
(()
=>
{
console
.
info
(
'
trashAlbum.recover successfully
'
);
}).
catch
((
err
)
=>
{
console
.
info
(
'
trashAlbum.recover failed, message =
'
,
err
);
});
}
}
```
```
## MemberType
成员类型。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore
| 名称 | 类型 |
| ----- | ---- |
| number | number |
| string | string |
| boolean | boolean |
## ChangeEvent
变更监听的媒体文件类型。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore
| 名称 | 说明 |
| ----- | ---- |
| deviceChange | 设备 |
| albumChange | 相册 |
| imageChange | 图片 |
| audioChange | 音频 |
| videoChange | 视频 |
| remoteFileChange | 远程文件 |
## PeerInfo
## PeerInfo
注册设备的信息。
注册设备的信息。
此接口为系统接口。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore
...
@@ -2393,33 +2253,31 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
...
@@ -2393,33 +2253,31 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
| networkId | string | 是 | 否 | 注册设备的网络ID |
| networkId | string | 是 | 否 | 注册设备的网络ID |
| isOnline | boolean | 是 | 否 | 是否在线 |
| isOnline | boolean | 是 | 否 | 是否在线 |
## MediaType
枚举,媒体类型。
## FileType
枚举,媒体文件类型。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 说明 |
| 名称 | 说明 |
| ----- | ---- |
| ----- | ---- |
| FILE | 文件 |
| IMAGE | 图片 |
| IMAGE | 图片 |
| VIDEO | 视频 |
| VIDEO | 视频 |
| AUDIO | 音频 |
| AUDIO | 音频 |
##
FileKey
##
PrivateAlbumType
枚举,
文件关键信息
。
枚举,
系统相册类型
。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 默认值 | 说明 |
| 名称 | 说明 |
| ------------- | ------------------- | ---------------------------------------------------------- |
| ----- | ---- |
| URI | uri | 文件uri |
| TYPE_FAVORITE | 收藏夹相册 |
| RELATIVE_PATH | relative_path | 相对公共目录路径 |
| TYPE_TRASH | 回收站相册 |
| DISPLAY_NAME | display_name | 显示名字 |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
| TITLE | title | 文件标题 |
## AudioKey
## AudioKey
...
@@ -2430,7 +2288,6 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
...
@@ -2430,7 +2288,6 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
| 名称 | 默认值 | 说明 |
| 名称 | 默认值 | 说明 |
| ------------- | ------------------- | ---------------------------------------------------------- |
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI | uri | 文件uri |
| URI | uri | 文件uri |
| RELATIVE_PATH | relative_path | 相对公共目录路径 |
| DISPLAY_NAME | display_name | 显示名字 |
| DISPLAY_NAME | display_name | 显示名字 |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
...
@@ -2438,6 +2295,7 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
...
@@ -2438,6 +2295,7 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
| ARTIST | artist | 作者 |
| ARTIST | artist | 作者 |
| AUDIOALBUM | audio_album | 专辑 |
| AUDIOALBUM | audio_album | 专辑 |
| DURATION | duration | 持续时间(单位:毫秒) |
| DURATION | duration | 持续时间(单位:毫秒) |
| FAVORITE | favorite | 收藏 |
## ImageVideoKey
## ImageVideoKey
...
@@ -2448,14 +2306,17 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
...
@@ -2448,14 +2306,17 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
| 名称 | 默认值 | 说明 |
| 名称 | 默认值 | 说明 |
| ------------- | ------------------- | ---------------------------------------------------------- |
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI | uri | 文件uri |
| URI | uri | 文件uri |
|
RELATIVE_PATH | relative_path | 相对公共目录路径
|
|
FILE_TYPE | file_type | 媒体文件类型
|
| DISPLAY_NAME | display_name | 显示名字 |
| DISPLAY_NAME | display_name | 显示名字 |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
| TITLE | title | 文件标题 |
| DURATION | duration | 持续时间(单位:毫秒) |
| DURATION | duration | 持续时间(单位:毫秒) |
| WIDTH | width | 图片宽度(单位:像素) |
| WIDTH | width | 图片宽度(单位:像素) |
| HEIGHT | height | 图片高度(单位:像素) |
| HEIGHT | height | 图片高度(单位:像素) |
| DATE_TAKEN | date_taken | 拍摄日期(文件拍照时间到1970年1月1日的秒数值) |
| DATE_TAKEN | date_taken | 拍摄日期(文件拍照时间到1970年1月1日的秒数值) |
| ORIENTATION | orientation | 图片文件的方向 |
| FAVORITE | favorite | 收藏 |
## AlbumKey
## AlbumKey
...
@@ -2466,56 +2327,30 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
...
@@ -2466,56 +2327,30 @@ async function virtualAlbumGetFileAssetsDemoPromise() {
| 名称 | 默认值 | 说明 |
| 名称 | 默认值 | 说明 |
| ------------- | ------------------- | ---------------------------------------------------------- |
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI | uri | 相册uri |
| URI | uri | 相册uri |
|
RELATIVE_PATH | relative_path | 相对公共目录路径
|
|
FILE_TYPE | file_type | 媒体文件类型
|
|
DISPLAY_NAME | display_name | 显示
名字 |
|
ALBUM_NAME | album_name | 相册
名字 |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
## DirectoryType
枚举,目录类型。
## FetchOptions
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 说明 |
| ------------- | ------------------ |
| DIR_CAMERA | 表示Camera文件路径 |
| DIR_VIDEO | 表示视频路径 |
| DIR_IMAGE | 表示图片路径 |
| DIR_AUDIO | 表示音频路径 |
| DIR_DOCUMENTS | 表示文档路径 |
| DIR_DOWNLOAD | 表示下载路径 |
## MediaFetchOptions
检索条件。
检索条件。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| ----------------------- | ------------------- | ---- | ---- | ---- | ------------------------------------------------------------ |
| ---------------------- | ------------------- | ---- |------------------------------------------------ |
| selections | string | 是 | 是 | 是 | 检索条件,使用
[
FileKey
](
#filekey
)
中的枚举值作为检索条件的列名。示例:
<br
/>
selections: mediaLibrary.FileKey.MEDIA_TYPE + '= ? OR' +mediaLibrary.FileKey.MEDIA_TYPE + '= ?‘, |
| fetchColumns | Array
<
string
>
| 是 | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType。示例:
<br
/>
fetchColumns: "uri"|
| selectionArgs | Array
<
string
>
| 是 | 是 | 是 | 检索条件的值,对应selections中检索条件列的值。
<br
/>
示例:
<br
/>
selectionArgs: [mediaLibrary.MediaType.IMAGE.toString(), mediaLibrary.MediaType.VIDEO.toString()], |
| predicates |
[
dataSharePredicates.DataSharePredicates
](
#../js-apis-data-dataSharePredicates.md
)
| 是 | 谓词查询,显示过滤条件 |
## Size
图片尺寸。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------ | ------ | ---- | ---- | -------- |
| width | number | 是 | 是 | 宽(单位:像素) |
| height | number | 是 | 是 | 高(单位:像素) |
## VirtualAlbumType
## AlbumFetchOptions
枚举,系统相册或虚拟相册类型
以下接口均为系统接口
。
相册检索条件
。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力:**
以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| ------------- | ------------------ |
| ---------------------- | ------------------- | ---- |------------------------------------------------ |
| TYPE_FAVORITE | 系统相册:收藏夹相册
<br/>
该接口为系统接口。 |
| predicates |
[
dataSharePredicates.DataSharePredicates
](
#../js-apis-data-dataSharePredicates.md
)
| 是 | 谓词查询,显示过滤条件 |
| TYPE_TRASH | 系统相册:回收站相册
<br/>
该接口为系统接口。 |
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录