Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
e0ad198b
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
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看板
未验证
提交
e0ad198b
编写于
8月 17, 2023
作者:
O
openharmony_ci
提交者:
Gitee
8月 17, 2023
浏览文件
操作
浏览文件
下载
差异文件
!22324 [新需求]: add medialibrary getExif and setUserComment interface
Merge pull request !22324 from lixiaowu/master
上级
48dd5d93
70853f0d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
558 addition
and
0 deletion
+558
-0
zh-cn/application-dev/reference/apis/js-apis-photoAccessHelper.md
...plication-dev/reference/apis/js-apis-photoAccessHelper.md
+279
-0
zh-cn/application-dev/reference/apis/js-apis-userFileManager.md
...application-dev/reference/apis/js-apis-userFileManager.md
+279
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-photoAccessHelper.md
浏览文件 @
e0ad198b
...
...
@@ -2388,6 +2388,284 @@ async function example() {
}
```
### getExif<sup>10+</sup>
getExif(): Promise
<
string
>
返回jpg格式图片Exif标签组成的json格式的字符串,该方法使用Promise方式返回结果。
**注意**
:此接口返回的是exif标签组成的json格式的字符串,完整exif信息由all_exif与photoKeys.USER_COMMENT组成,fetchColumns需要传入这两个字段。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.PhotoAccessHelper.Core
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise
<
string
>
| 返回Exif标签组成的json格式的字符串。 |
**支持Exif标签列表**
:
Exif标签的详细信息请参考
[
image.PropertyKey
](
js-apis-image.md#propertykey7
)
。
| 标签key值 | 标签说明 |
| --------------------------------------- | ----------------- |
| BitsPerSample | 每个像素比特数 |
| Orientation | 图像方向 |
| ImageLength | 图像长度 |
| ImageWidth | 图像宽度 |
| GPSLatitude | GPS纬度 |
| GPSLongitude | GPS经度 |
| GPSLatitudeRef | 经度引用,例如W或E |
| GPSLongitudeRef | 纬度引用,例如N或S |
| DateTimeOriginal | 拍摄时间 |
| ExposureTime | 曝光时间 |
| SceneType | 场景类型 |
| ISOSpeedRatings | ISO感光度分值 |
| FNumber | 光圈F值 |
| DateTime | 修改时间 |
| GPSTimeStamp | GPS时间戳 |
| GPSDateStamp | GPS日期戳 |
| ImageDescription | 图像描述 |
| Make | 制造商 |
| MakeNote | 制造商 |
| Model | 型号 |
| PhotoMode | 拍摄模式 |
| SensitivityType | 感光类型 |
| StandardOutputSensitivity | 标准输出感光度 |
| RecommendedExposureIndex | 推荐曝光指数 |
| ApertureValue | 光圈 |
| MeteringMode | 测光模式 |
| LightSource | 光源 |
| Flash | 闪光灯 |
| FocalLength | 镜头焦距 |
| UserComment | 用户注释 |
| PixelXDimension | 有效图像宽度 |
| PixelYDimension | 有效图像高度 |
| WhiteBalance | 白平衡 |
| FocalLengthIn35mmFilm | 35mm等效焦距 |
| ExposureBiasValue | 曝光补偿 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
async
function
example
()
{
try
{
console
.
info
(
'
getExifDemo
'
);
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOptions
=
{
fetchColumns
:
[
'
all_exif
'
,
photoKeys
.
USER_COMMENT
],
predicates
:
predicates
};
let
fetchResult
=
await
phAccessHelper
.
getAssets
(
fetchOptions
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
exifMessage
=
await
fileAsset
.
getExif
();
let
userCommentKey
=
'
UserComment
'
;
let
userComment
=
JSON
.
stringify
(
JSON
.
parse
(
exifMessage
),
[
userCommentKey
]);
fetchResult
.
close
();
}
catch
(
err
)
{
console
.
error
(
'
getExifDemoCallback failed with error:
'
+
err
);
}
}
```
### getExif<sup>10+</sup>
getExif(callback: AsyncCallback
<
string
>
): void
返回jpg格式图片Exif标签组成的json格式的字符串,该方法使用Promise方式返回结果。
**注意**
:此接口返回的是exif标签组成的json格式的字符串,完整exif信息由all_exif与photoKeys.USER_COMMENT组成,fetchColumns需要传入这两个字段。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.PhotoAccessHelper.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback
<
string
>
| 是 | 返回Exif字段组成的json格式的字符串。 |
**支持Exif标签列表**
:
Exif标签的详细信息请参考
[
image.PropertyKey
](
js-apis-image.md#propertykey7
)
。
| 标签key值 | 标签说明 |
| --------------------------------------- | ----------------- |
| BitsPerSample | 每个像素比特数 |
| Orientation | 图像方向 |
| ImageLength | 图像长度 |
| ImageWidth | 图像宽度 |
| GPSLatitude | GPS纬度 |
| GPSLongitude | GPS经度 |
| GPSLatitudeRef | 经度引用,例如W或E |
| GPSLongitudeRef | 纬度引用,例如N或S |
| DateTimeOriginal | 拍摄时间 |
| ExposureTime | 曝光时间 |
| SceneType | 场景类型 |
| ISOSpeedRatings | ISO感光度分值 |
| FNumber | 光圈F值 |
| DateTime | 修改时间 |
| GPSTimeStamp | GPS时间戳 |
| GPSDateStamp | GPS日期戳 |
| ImageDescription | 图像描述 |
| Make | 制造商 |
| MakeNote | 制造商 |
| Model | 型号 |
| PhotoMode | 拍摄模式 |
| SensitivityType | 感光类型 |
| StandardOutputSensitivity | 标准输出感光度 |
| RecommendedExposureIndex | 推荐曝光指数 |
| ApertureValue | 光圈 |
| MeteringMode | 测光模式 |
| LightSource | 光源 |
| Flash | 闪光灯 |
| FocalLength | 镜头焦距 |
| UserComment | 用户注释 |
| PixelXDimension | 有效图像宽度 |
| PixelYDimension | 有效图像高度 |
| WhiteBalance | 白平衡 |
| FocalLengthIn35mmFilm | 35mm等效焦距 |
| ExposureBiasValue | 曝光补偿 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
async
function
example
()
{
try
{
console
.
info
(
'
getExifDemo
'
);
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOptions
=
{
fetchColumns
:
[
'
all_exif
'
,
photoKeys
.
USER_COMMENT
],
predicates
:
predicates
};
let
fetchResult
=
await
phAccessHelper
.
getAssets
(
fetchOptions
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userCommentKey
=
'
UserComment
'
;
fileAsset
.
getExif
((
err
,
exifMessage
)
=>
{
if
(
exifMessage
!=
undefined
)
{
let
userComment
=
JSON
.
stringify
(
JSON
.
parse
(
exifMessage
),
[
userCommentKey
]);
}
else
{
console
.
error
(
'
getExif failed, message =
'
,
err
);
}
});
fetchResult
.
close
();
}
catch
(
err
)
{
console
.
error
(
'
getExifDemoCallback failed with error:
'
+
err
);
}
}
```
### setUserComment<sup>10+</sup>
setUserComment(userComment: string): Promise
<
void
>
修改图片或者视频的备注信息,该方法使用Promise来返回结果。
**注意**
:此接口只可修改图片或者视频的备注信息。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.PhotoAccessHelper.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| userComment | string | 是 | 待修改的图片或视频的备注信息,备注信息最长为140字符。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
|Promise
<
void
>
| Promise对象,返回void。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
async
function
example
()
{
try
{
console
.
info
(
'
setUserCommentDemo
'
)
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOptions
=
{
fetchColumns
:
[],
predicates
:
predicates
};
let
fetchResult
=
await
phAccessHelper
.
getAssets
(
fetchOptions
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userComment
=
'
test_set_user_comment
'
;
await
fileAsset
.
setUserComment
(
userComment
);
}
catch
(
err
)
{
console
.
error
(
'
setUserCommentDemoCallback failed with error:
'
+
err
);
}
}
```
### setUserComment<sup>10+</sup>
setUserComment(userComment: string, callback: AsyncCallback
<
void
>
): void
修改图片或者视频的备注信息,该方法使用callback形式来返回结果。
**注意**
:此接口只可修改图片或者视频的备注信息。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.PhotoAccessHelper.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| userComment | string | 是 | 待修改的图片或视频的备注信息,备注信息最长为140字符。 |
| callback | AsyncCallback
<
void
>
| 是 | callback返回void。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
async
function
example
()
{
try
{
console
.
info
(
'
setUserCommentDemo
'
)
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOptions
=
{
fetchColumns
:
[],
predicates
:
predicates
};
let
fetchResult
=
await
phAccessHelper
.
getAssets
(
fetchOptions
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userComment
=
'
test_set_user_comment
'
;
fileAsset
.
setUserComment
(
userComment
,
(
err
)
=>
{
if
(
err
===
undefined
)
{
console
.
info
(
'
setUserComment successfully
'
);
}
else
{
console
.
error
(
'
setUserComment failed with error:
'
+
err
);
}
});
}
catch
(
err
)
{
console
.
error
(
'
setUserCommentDemoCallback failed with error:
'
+
err
);
}
}
```
## FetchResult
文件检索结果集。
...
...
@@ -3871,6 +4149,7 @@ async function example() {
| DATE_TRASHED | 'date_trashed' | 删除日期(删除文件时间距1970年1月1日的秒数值)。
**系统接口**
:此接口为系统接口。 |
| HIDDEN | 'hidden' | 文件的隐藏状态。
**系统接口**
:此接口为系统接口。 |
| CAMERA_SHOT_KEY | 'camera_shot_key' | 锁屏相机拍照或录像的标记字段(仅开放给系统相机,其key值由系统相机定义)。
**系统接口**
:此接口为系统接口。 |
| USER_COMMENT
<sup>
10+
</sup>
| 'user_comment' | 用户注释信息。
**系统接口**
:此接口为系统接口。 |
## AlbumKeys
...
...
zh-cn/application-dev/reference/apis/js-apis-userFileManager.md
浏览文件 @
e0ad198b
...
...
@@ -2495,6 +2495,284 @@ async function example() {
}
```
### getExif<sup>10+</sup>
getExif(): Promise
<
string
>
返回jpg格式图片Exif标签组成的json格式的字符串,该方法使用Promise方式返回结果。
**注意**
:此接口返回的是exif标签组成的json格式的字符串,完整exif信息由all_exif与ImageVideoKey.USER_COMMENT组成,fetchColumns需要传入这两个字段。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise
<
string
>
| 返回exif标签组成的json格式的字符串。 |
**支持Exif标签列表**
:
Exif标签的详细信息请参考
[
image.PropertyKey
](
js-apis-image.md#propertykey7
)
。
| 标签key值 | 标签说明 |
| --------------------------------------- | ----------------- |
| BitsPerSample | 每个像素比特数 |
| Orientation | 图像方向 |
| ImageLength | 图像长度 |
| ImageWidth | 图像宽度 |
| GPSLatitude | GPS纬度 |
| GPSLongitude | GPS经度 |
| GPSLatitudeRef | 经度引用,例如W或E |
| GPSLongitudeRef | 纬度引用,例如N或S |
| DateTimeOriginal | 拍摄时间 |
| ExposureTime | 曝光时间 |
| SceneType | 场景类型 |
| ISOSpeedRatings | ISO感光度分值 |
| FNumber | 光圈F值 |
| DateTime | 修改时间 |
| GPSTimeStamp | GPS时间戳 |
| GPSDateStamp | GPS日期戳 |
| ImageDescription | 图像描述 |
| Make | 制造商 |
| MakeNote | 制造商 |
| Model | 型号 |
| PhotoMode | 拍摄模式 |
| SensitivityType | 感光类型 |
| StandardOutputSensitivity | 标准输出感光度 |
| RecommendedExposureIndex | 推荐曝光指数 |
| ApertureValue | 光圈 |
| MeteringMode | 测光模式 |
| LightSource | 光源 |
| Flash | 闪光灯 |
| FocalLength | 镜头焦距 |
| UserComment | 用户注释 |
| PixelXDimension | 有效图像宽度 |
| PixelYDimension | 有效图像高度 |
| WhiteBalance | 白平衡 |
| FocalLengthIn35mmFilm | 35mm等效焦距 |
| ExposureBiasValue | 曝光补偿 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
async
function
example
()
{
try
{
console
.
info
(
'
getExifDemo
'
);
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOptions
=
{
fetchColumns
:
[
'
all_exif
'
,
ImageVideoKey
.
USER_COMMENT
],
predicates
:
predicates
};
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOptions
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
exifMessage
=
await
fileAsset
.
getExif
();
let
userCommentKey
=
'
UserComment
'
;
let
userComment
=
JSON
.
stringify
(
JSON
.
parse
(
exifMessage
),
[
userCommentKey
]);
fetchResult
.
close
();
}
catch
(
err
)
{
console
.
error
(
'
getExifDemoCallback failed with error:
'
+
err
);
}
}
```
### getExif<sup>10+</sup>
getExif(callback: AsyncCallback
<
string
>
): void
返回jpg格式图片Exif标签组成的json格式的字符串,该方法使用Promise方式返回结果。
**注意**
:此接口返回的是exif标签组成的json格式的字符串,完整exif信息由all_exif与ImageVideoKey.USER_COMMENT组成,fetchColumns需要传入这两个字段。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.READ_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback
<
string
>
| 是 | 返回exif标签组成的json格式的字符串。 |
**支持Exif标签列表**
:
Exif标签的详细信息请参考
[
image.PropertyKey
](
js-apis-image.md#propertykey7
)
。
| 标签key值 | 标签说明 |
| --------------------------------------- | ----------------- |
| BitsPerSample | 每个像素比特数 |
| Orientation | 图像方向 |
| ImageLength | 图像长度 |
| ImageWidth | 图像宽度 |
| GPSLatitude | GPS纬度 |
| GPSLongitude | GPS经度 |
| GPSLatitudeRef | 经度引用,例如W或E |
| GPSLongitudeRef | 纬度引用,例如N或S |
| DateTimeOriginal | 拍摄时间 |
| ExposureTime | 曝光时间 |
| SceneType | 场景类型 |
| ISOSpeedRatings | ISO感光度分值 |
| FNumber | 光圈F值 |
| DateTime | 修改时间 |
| GPSTimeStamp | GPS时间戳 |
| GPSDateStamp | GPS日期戳 |
| ImageDescription | 图像描述 |
| Make | 制造商 |
| MakeNote | 制造商 |
| Model | 型号 |
| PhotoMode | 拍摄模式 |
| SensitivityType | 感光类型 |
| StandardOutputSensitivity | 标准输出感光度 |
| RecommendedExposureIndex | 推荐曝光指数 |
| ApertureValue | 光圈 |
| MeteringMode | 测光模式 |
| LightSource | 光源 |
| Flash | 闪光灯 |
| FocalLength | 镜头焦距 |
| UserComment | 用户注释 |
| PixelXDimension | 有效图像宽度 |
| PixelYDimension | 有效图像高度 |
| WhiteBalance | 白平衡 |
| FocalLengthIn35mmFilm | 35mm等效焦距 |
| ExposureBiasValue | 曝光补偿 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
async
function
example
()
{
try
{
console
.
info
(
'
getExifDemo
'
);
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOptions
=
{
fetchColumns
:
[
'
all_exif
'
,
ImageVideoKey
.
USER_COMMENT
],
predicates
:
predicates
};
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOptions
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userCommentKey
=
'
UserComment
'
;
fileAsset
.
getExif
((
err
,
exifMessage
)
=>
{
if
(
exifMessage
!=
undefined
)
{
let
userComment
=
JSON
.
stringify
(
JSON
.
parse
(
exifMessage
),
[
userCommentKey
]);
}
else
{
console
.
error
(
'
getExif failed, message =
'
,
err
);
}
});
fetchResult
.
close
();
}
catch
(
err
)
{
console
.
error
(
'
getExifDemoCallback failed with error:
'
+
err
);
}
}
```
### setUserComment<sup>10+</sup>
setUserComment(userComment: string): Promise
<
void
>
修改图片或者视频的备注信息,该方法使用Promise来返回结果。
**注意**
:此接口只可修改图片或者视频的备注信息。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| userComment | string | 是 | 待修改的图片或视频的备注信息,备注信息最长为140字符。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
|Promise
<
void
>
| Promise对象,返回void。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
async
function
example
()
{
try
{
console
.
info
(
'
setUserCommentDemo
'
)
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOptions
=
{
fetchColumns
:
[],
predicates
:
predicates
};
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOptions
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userComment
=
'
test_set_user_comment
'
;
await
fileAsset
.
setUserComment
(
userComment
);
}
catch
(
err
)
{
console
.
error
(
'
setUserCommentDemoCallback failed with error:
'
+
err
);
}
}
```
### setUserComment<sup>10+</sup>
setUserComment(userComment: string, callback: AsyncCallback
<
void
>
): void
修改图片或者视频的备注信息,该方法使用callback形式来返回结果。
**注意**
:此接口只可修改图片或者视频的备注信息。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**
:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| userComment | string | 是 | 待修改的图片或视频的备注信息,备注信息最长为140字符。 |
| callback | AsyncCallback
<
void
>
| 是 | callback返回void。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
async
function
example
()
{
try
{
console
.
info
(
'
setUserCommentDemo
'
)
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
fetchOptions
=
{
fetchColumns
:
[],
predicates
:
predicates
};
let
fetchResult
=
await
mgr
.
getPhotoAssets
(
fetchOptions
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
userComment
=
'
test_set_user_comment
'
;
fileAsset
.
setUserComment
(
userComment
,
(
err
)
=>
{
if
(
err
===
undefined
)
{
console
.
info
(
'
setUserComment successfully
'
);
}
else
{
console
.
error
(
'
setUserComment failed with error:
'
+
err
);
}
});
}
catch
(
err
)
{
console
.
error
(
'
setUserCommentDemoCallback failed with error:
'
+
err
);
}
}
```
## FetchResult
文件检索结果集。
...
...
@@ -4107,6 +4385,7 @@ async function example() {
| DATE_TRASHED
<sup>
10+
</sup>
| date_trashed | 删除日期(删除文件时间距1970年1月1日的秒数值)。 |
| HIDDEN
<sup>
10+
</sup>
| hidden | 文件的隐藏状态。 |
| CAMERA_SHOT_KEY
<sup>
10+
</sup>
| camera_shot_key | 锁屏相机拍照或录像的标记字段(仅开放给系统相机,其key值由系统相机定义)。 |
| USER_COMMENT
<sup>
10+
</sup>
| user_comment | 用户注释信息。 |
## AlbumKey
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录