Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
8bafffc9
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
8bafffc9
编写于
2月 25, 2023
作者:
O
openharmony_ci
提交者:
Gitee
2月 25, 2023
浏览文件
操作
浏览文件
下载
差异文件
!15161 Indent format modified
Merge pull request !15161 from 胡伟奇/file-management
上级
17e343fa
33f16be7
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
406 addition
and
407 deletion
+406
-407
zh-cn/application-dev/file-management/medialibrary-album-guidelines.md
...tion-dev/file-management/medialibrary-album-guidelines.md
+28
-28
zh-cn/application-dev/file-management/medialibrary-filepath-guidelines.md
...n-dev/file-management/medialibrary-filepath-guidelines.md
+127
-127
zh-cn/application-dev/file-management/medialibrary-overview.md
.../application-dev/file-management/medialibrary-overview.md
+58
-58
zh-cn/application-dev/file-management/medialibrary-resource-guidelines.md
...n-dev/file-management/medialibrary-resource-guidelines.md
+193
-194
未找到文件。
zh-cn/application-dev/file-management/medialibrary-album-guidelines.md
浏览文件 @
8bafffc9
...
@@ -39,19 +39,19 @@ mediaLibrary提供相册相关的接口,供开发者创建、删除相册,
...
@@ -39,19 +39,19 @@ mediaLibrary提供相册相关的接口,供开发者创建、删除相册,
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
mediaType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
mediaType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
DIR_IMAGE
=
mediaLibrary
.
DirectoryType
.
DIR_IMAGE
;
let
DIR_IMAGE
=
mediaLibrary
.
DirectoryType
.
DIR_IMAGE
;
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
path
=
await
media
.
getPublicDirectory
(
DIR_IMAGE
);
const
path
=
await
media
.
getPublicDirectory
(
DIR_IMAGE
);
//myAlbum为新建文件保存路径,也是新建相册的名称
//myAlbum为新建文件保存路径,也是新建相册的名称
media
.
createAsset
(
mediaType
,
'
test.jpg
'
,
path
+
'
myAlbum/
'
,
(
err
,
fileAsset
)
=>
{
media
.
createAsset
(
mediaType
,
'
test.jpg
'
,
path
+
'
myAlbum/
'
,
(
err
,
fileAsset
)
=>
{
if
(
fileAsset
===
undefined
)
{
if
(
fileAsset
===
undefined
)
{
console
.
error
(
'
createAlbum failed, message =
'
+
err
);
console
.
error
(
'
createAlbum failed, message =
'
+
err
);
}
else
{
}
else
{
console
.
info
(
'
createAlbum successfully, message =
'
+
JSON
.
stringify
(
fileAsset
));
console
.
info
(
'
createAlbum successfully, message =
'
+
JSON
.
stringify
(
fileAsset
));
}
}
});
});
}
}
```
```
...
@@ -75,20 +75,20 @@ async function example() {
...
@@ -75,20 +75,20 @@ async function example() {
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
AlbumNoArgsfetchOp
=
{
let
AlbumNoArgsfetchOp
=
{
selections
:
''
,
selections
:
''
,
selectionArgs
:
[],
selectionArgs
:
[],
};
};
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
albumList
=
await
media
.
getAlbums
(
AlbumNoArgsfetchOp
);
let
albumList
=
await
media
.
getAlbums
(
AlbumNoArgsfetchOp
);
let
album
=
albumList
[
0
];
let
album
=
albumList
[
0
];
album
.
albumName
=
'
newAlbum
'
;
album
.
albumName
=
'
newAlbum
'
;
//回调返回空
//回调返回空
album
.
commitModify
().
then
(()
=>
{
album
.
commitModify
().
then
(()
=>
{
console
.
info
(
"
albumRename successfully
"
);
console
.
info
(
"
albumRename successfully
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
"
albumRename failed with error:
"
+
err
);
console
.
error
(
"
albumRename failed with error:
"
+
err
);
});
});
}
}
```
```
zh-cn/application-dev/file-management/medialibrary-filepath-guidelines.md
浏览文件 @
8bafffc9
...
@@ -36,15 +36,15 @@ Openharmony上用户数据统一由媒体库进行管理,用户数据用户数
...
@@ -36,15 +36,15 @@ Openharmony上用户数据统一由媒体库进行管理,用户数据用户数
```
ts
```
ts
async
function
example
(){
async
function
example
(){
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
DIR_CAMERA
=
mediaLibrary
.
DirectoryType
.
DIR_CAMERA
;
let
DIR_CAMERA
=
mediaLibrary
.
DirectoryType
.
DIR_CAMERA
;
const
dicResult
=
await
media
.
getPublicDirectory
(
DIR_CAMERA
);
const
dicResult
=
await
media
.
getPublicDirectory
(
DIR_CAMERA
);
if
(
dicResult
==
'
Camera/
'
)
{
if
(
dicResult
==
'
Camera/
'
)
{
console
.
info
(
'
mediaLibraryTest : getPublicDirectory passed
'
);
console
.
info
(
'
mediaLibraryTest : getPublicDirectory passed
'
);
}
else
{
}
else
{
console
.
error
(
'
mediaLibraryTest : getPublicDirectory failed
'
);
console
.
error
(
'
mediaLibraryTest : getPublicDirectory failed
'
);
}
}
}
}
```
```
...
@@ -80,75 +80,75 @@ OpenHarmony提供应用沙箱机制,增加目录可见性数据访问防线,
...
@@ -80,75 +80,75 @@ OpenHarmony提供应用沙箱机制,增加目录可见性数据访问防线,
```
ts
```
ts
async
function
copyPublic2Sandbox
()
{
async
function
copyPublic2Sandbox
()
{
try
{
try
{
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
sandboxDirPath
=
context
.
filesDir
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileAssetFetchOp
=
{
selections
:
fileKeyObj
.
DISPLAY_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
testFile.txt
'
],
};
let
fetchResult
=
await
media
.
getFileAssets
(
fileAssetFetchOp
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
fdPub
=
await
fileAsset
.
open
(
'
rw
'
);
let
fdSand
=
await
fs
.
open
(
sandboxDirPath
+
'
/testFile.txt
'
,
fs
.
OpenMode
.
READ_WRITE
|
fs
.
OpenMode
.
CREATE
);
await
fs
.
copyFile
(
fdPub
,
fdSand
.
fd
);
await
fileAsset
.
close
(
fdPub
);
await
fs
.
close
(
fdSand
.
fd
);
let
content_sand
=
await
fs
.
readText
(
sandboxDirPath
+
'
/testFile.txt
'
);
console
.
info
(
'
content read from sandbox file:
'
,
content_sand
)
}
catch
(
err
)
{
console
.
info
(
'
[demo] copyPublic2Sandbox fail, err:
'
,
err
);
}
}
```
**示例2 将应用沙箱路径文件复制到公共路径**
```
ts
async
function
copySandbox2Public
()
{
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
sandboxDirPath
=
context
.
filesDir
;
let
sandboxDirPath
=
context
.
filesDir
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileAssetFetchOp
=
{
selections
:
fileKeyObj
.
DISPLAY_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
testFile.txt
'
],
};
let
fetchResult
=
await
media
.
getFileAssets
(
fileAssetFetchOp
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
DIR_DOCUMENTS
=
mediaLibrary
.
DirectoryType
.
DIR_DOCUMENTS
;
const
publicDirPath
=
await
media
.
getPublicDirectory
(
DIR_DOCUMENTS
);
try
{
let
fileAsset
=
await
media
.
createAsset
(
mediaLibrary
.
MediaType
.
FILE
,
'
testFile02.txt
'
,
publicDirPath
);
console
.
info
(
'
createFile successfully, message =
'
+
fileAsset
);
}
catch
(
err
)
{
console
.
error
(
'
createFile failed, message =
'
+
err
);
}
try
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileAssetFetchOp
=
{
selections
:
fileKeyObj
.
DISPLAY_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
testFile02.txt
'
],
};
let
fetchResult
=
await
media
.
getFileAssets
(
fileAssetFetchOp
);
var
fileAsset
=
await
fetchResult
.
getFirstObject
();
}
catch
(
err
)
{
console
.
error
(
'
file asset get failed, message =
'
+
err
);
}
let
fdPub
=
await
fileAsset
.
open
(
'
rw
'
);
let
fdPub
=
await
fileAsset
.
open
(
'
rw
'
);
let
fdSand
=
await
fs
.
open
(
sandboxDirPath
+
'
testFile.txt
'
,
OpenMode
.
READ_WRITE
);
let
fdSand
=
await
fs
.
open
(
sandboxDirPath
+
'
/testFile.txt
'
,
fs
.
OpenMode
.
READ_WRITE
|
fs
.
OpenMode
.
CREATE
);
await
fs
.
copyFile
(
fdSand
.
fd
,
fdPub
);
await
fs
.
copyFile
(
fdPub
,
fdSand
.
fd
);
await
fileAsset
.
close
(
fdPub
);
await
fileAsset
.
close
(
fdPub
);
await
fs
.
close
(
fdSand
.
fd
);
await
fs
.
close
(
fdSand
.
fd
);
let
fdPubRead
=
await
fileAsset
.
open
(
'
rw
'
);
try
{
let
content_sand
=
await
fs
.
readText
(
sandboxDirPath
+
'
/testFile.txt
'
);
let
arrayBuffer
=
new
ArrayBuffer
(
4096
);
console
.
info
(
'
content read from sandbox file:
'
,
content_sand
)
await
fs
.
read
(
fdPubRead
,
arrayBuffer
);
}
catch
(
err
)
{
var
content_pub
=
String
.
fromCharCode
(...
new
Uint8Array
(
arrayBuffer
));
console
.
info
(
'
[demo] copyPublic2Sandbox fail, err:
'
,
err
);
fileAsset
.
close
(
fdPubRead
);
}
}
catch
(
err
)
{
}
console
.
error
(
'
read text failed, message =
'
,
err
);
```
}
console
.
info
(
'
content read from public file:
'
,
content_pub
);
**示例2 将应用沙箱路径文件复制到公共路径**
```
ts
async
function
copySandbox2Public
()
{
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
sandboxDirPath
=
context
.
filesDir
;
let
DIR_DOCUMENTS
=
mediaLibrary
.
DirectoryType
.
DIR_DOCUMENTS
;
const
publicDirPath
=
await
media
.
getPublicDirectory
(
DIR_DOCUMENTS
);
try
{
let
fileAsset
=
await
media
.
createAsset
(
mediaLibrary
.
MediaType
.
FILE
,
'
testFile02.txt
'
,
publicDirPath
);
console
.
info
(
'
createFile successfully, message =
'
+
fileAsset
);
}
catch
(
err
)
{
console
.
error
(
'
createFile failed, message =
'
+
err
);
}
try
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileAssetFetchOp
=
{
selections
:
fileKeyObj
.
DISPLAY_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
testFile02.txt
'
],
};
let
fetchResult
=
await
media
.
getFileAssets
(
fileAssetFetchOp
);
var
fileAsset
=
await
fetchResult
.
getFirstObject
();
}
catch
(
err
)
{
console
.
error
(
'
file asset get failed, message =
'
+
err
);
}
let
fdPub
=
await
fileAsset
.
open
(
'
rw
'
);
let
fdSand
=
await
fs
.
open
(
sandboxDirPath
+
'
testFile.txt
'
,
OpenMode
.
READ_WRITE
);
await
fs
.
copyFile
(
fdSand
.
fd
,
fdPub
);
await
fileAsset
.
close
(
fdPub
);
await
fs
.
close
(
fdSand
.
fd
);
let
fdPubRead
=
await
fileAsset
.
open
(
'
rw
'
);
try
{
let
arrayBuffer
=
new
ArrayBuffer
(
4096
);
await
fs
.
read
(
fdPubRead
,
arrayBuffer
);
var
content_pub
=
String
.
fromCharCode
(...
new
Uint8Array
(
arrayBuffer
));
fileAsset
.
close
(
fdPubRead
);
}
catch
(
err
)
{
console
.
error
(
'
read text failed, message =
'
,
err
);
}
console
.
info
(
'
content read from public file:
'
,
content_pub
);
}
}
```
```
...
@@ -166,20 +166,20 @@ async function copySandbox2Public() {
...
@@ -166,20 +166,20 @@ async function copySandbox2Public() {
1.
创建用于读写示例的文件。
1.
创建用于读写示例的文件。
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
mediaType
=
mediaLibrary
.
MediaType
.
FILE
;
let
mediaType
=
mediaLibrary
.
MediaType
.
FILE
;
let
DIR_DOCUMENTS
=
mediaLibrary
.
DirectoryType
.
DIR_DOCUMENTS
;
let
DIR_DOCUMENTS
=
mediaLibrary
.
DirectoryType
.
DIR_DOCUMENTS
;
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
path
=
await
media
.
getPublicDirectory
(
DIR_DOCUMENTS
);
const
path
=
await
media
.
getPublicDirectory
(
DIR_DOCUMENTS
);
media
.
createAsset
(
mediaType
,
"
testFile.text
"
,
path
).
then
((
asset
)
=>
{
media
.
createAsset
(
mediaType
,
"
testFile.text
"
,
path
).
then
((
asset
)
=>
{
console
.
info
(
"
createAsset successfully:
"
+
JSON
.
stringify
(
asset
));
console
.
info
(
"
createAsset successfully:
"
+
JSON
.
stringify
(
asset
));
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
"
createAsset failed with error:
"
+
err
);
console
.
error
(
"
createAsset failed with error:
"
+
err
);
});
});
}
}
```
```
2.
使用open打开文件。
2.
使用open打开文件。
...
@@ -195,25 +195,25 @@ async function copySandbox2Public() {
...
@@ -195,25 +195,25 @@ async function copySandbox2Public() {
```
ts
```
ts
async
function
writeOnlyPromise
()
{
async
function
writeOnlyPromise
()
{
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileAssetFetchOp
=
{
let
fileAssetFetchOp
=
{
selections
:
fileKeyObj
.
DISPLAY_NAME
+
'
= ?
'
,
selections
:
fileKeyObj
.
DISPLAY_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
testFile.txt
'
],
selectionArgs
:
[
'
testFile.txt
'
],
};
};
let
fetchResult
=
await
media
.
getFileAssets
(
fileAssetFetchOp
);
let
fetchResult
=
await
media
.
getFileAssets
(
fileAssetFetchOp
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
console
.
info
(
'
fileAssetName:
'
,
fileAsset
.
displayName
);
console
.
info
(
'
fileAssetName:
'
,
fileAsset
.
displayName
);
try
{
try
{
let
fd
=
await
fileAsset
.
open
(
'
w
'
);
let
fd
=
await
fileAsset
.
open
(
'
w
'
);
console
.
info
(
'
file descriptor:
'
,
fd
);
console
.
info
(
'
file descriptor:
'
,
fd
);
await
fs
.
write
(
fd
,
"
Write file test content.
"
);
await
fs
.
write
(
fd
,
"
Write file test content.
"
);
await
fileAsset
.
close
(
fd
);
await
fileAsset
.
close
(
fd
);
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
error
(
'
write file failed, message =
'
,
err
);
console
.
error
(
'
write file failed, message =
'
,
err
);
}
}
}
}
```
```
...
@@ -221,29 +221,29 @@ async function writeOnlyPromise() {
...
@@ -221,29 +221,29 @@ async function writeOnlyPromise() {
```
ts
```
ts
async
function
readOnlyPromise
()
{
async
function
readOnlyPromise
()
{
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileAssetFetchOp
=
{
let
fileAssetFetchOp
=
{
selections
:
fileKeyObj
.
DISPLAY_NAME
+
'
= ?
'
,
selections
:
fileKeyObj
.
DISPLAY_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
testFile.txt
'
],
selectionArgs
:
[
'
testFile.txt
'
],
};
};
let
fetchResult
=
await
media
.
getFileAssets
(
fileAssetFetchOp
);
let
fetchResult
=
await
media
.
getFileAssets
(
fileAssetFetchOp
);
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
let
fileAsset
=
await
fetchResult
.
getFirstObject
();
console
.
info
(
'
fileAssetName:
'
,
fileAsset
.
displayName
);
console
.
info
(
'
fileAssetName:
'
,
fileAsset
.
displayName
);
try
{
try
{
let
fd
=
await
fileAsset
.
open
(
'
r
'
);
let
fd
=
await
fileAsset
.
open
(
'
r
'
);
let
arrayBuffer
=
new
ArrayBuffer
(
4096
);
let
arrayBuffer
=
new
ArrayBuffer
(
4096
);
await
fs
.
read
(
fd
,
arrayBuffer
);
await
fs
.
read
(
fd
,
arrayBuffer
);
let
fileContent
=
String
.
fromCharCode
(...
new
Uint8Array
(
arrayBuffer
));
let
fileContent
=
String
.
fromCharCode
(...
new
Uint8Array
(
arrayBuffer
));
globalThis
.
fileContent
=
fileContent
;
globalThis
.
fileContent
=
fileContent
;
globalThis
.
fileName
=
fileAsset
.
displayName
;
globalThis
.
fileName
=
fileAsset
.
displayName
;
console
.
info
(
'
file content:
'
,
fileContent
);
console
.
info
(
'
file content:
'
,
fileContent
);
await
fileAsset
.
close
(
fd
);
await
fileAsset
.
close
(
fd
);
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
error
(
'
read file failed, message =
'
,
err
);
console
.
error
(
'
read file failed, message =
'
,
err
);
}
}
}
}
```
```
zh-cn/application-dev/file-management/medialibrary-overview.md
浏览文件 @
8bafffc9
...
@@ -63,65 +63,65 @@ let media = mediaLibrary.getMediaLibrary(context);
...
@@ -63,65 +63,65 @@ let media = mediaLibrary.getMediaLibrary(context);
1.
在配置文件module.json5中声明权限。在配置文件的“module”标签内,增加“requestPermissions”标签,标签内容请根据实际情况填写。标签说明可参考
[
访问控制(权限)开发指导
](
../security/accesstoken-guidelines.md
)
。
1.
在配置文件module.json5中声明权限。在配置文件的“module”标签内,增加“requestPermissions”标签,标签内容请根据实际情况填写。标签说明可参考
[
访问控制(权限)开发指导
](
../security/accesstoken-guidelines.md
)
。
```
json
```
json
{
{
"module"
:
{
"module"
:
{
"requestPermissions"
:
[
"requestPermissions"
:
[
{
{
"name"
:
"ohos.permission.MEDIA_LOCATION"
,
"name"
:
"ohos.permission.MEDIA_LOCATION"
,
"reason"
:
"$string:reason"
,
"reason"
:
"$string:reason"
,
"usedScene"
:
{
"usedScene"
:
{
"abilities"
:
[
"abilities"
:
[
"EntryAbility"
"EntryAbility"
],
],
"when"
:
"always"
"when"
:
"always"
}
}
},
},
{
{
"name"
:
"ohos.permission.READ_MEDIA"
,
"name"
:
"ohos.permission.READ_MEDIA"
,
"reason"
:
"$string:reason"
,
"reason"
:
"$string:reason"
,
"usedScene"
:
{
"usedScene"
:
{
"abilities"
:
[
"abilities"
:
[
"EntryAbility"
"EntryAbility"
],
],
"when"
:
"always"
"when"
:
"always"
}
}
},
},
{
{
"name"
:
"ohos.permission.WRITE_MEDIA"
,
"name"
:
"ohos.permission.WRITE_MEDIA"
,
"reason"
:
"$string:reason"
,
"reason"
:
"$string:reason"
,
"usedScene"
:
{
"usedScene"
:
{
"abilities"
:
[
"abilities"
:
[
"EntryAbility"
"EntryAbility"
],
],
"when"
:
"always"
"when"
:
"always"
}
}
}
}
]
]
}
}
}
}
```
```
2.
在Ability.ts中onWindowStageCreate里调用requestPermissionsFromUser进行权限校验,可以选择需要动态申请获取的权限自行添加相应代码
2.
在Ability.ts中onWindowStageCreate里调用requestPermissionsFromUser进行权限校验,可以选择需要动态申请获取的权限自行添加相应代码
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
abilityAccessCtrl
,
{
Permissions
}
from
'
@ohos.abilityAccessCtrl
'
;
import
abilityAccessCtrl
,
{
Permissions
}
from
'
@ohos.abilityAccessCtrl
'
;
export
default
class
EntryAbility
extends
UIAbility
{
export
default
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
)
{
let
list
:
Array
<
Permissions
>
=
[
'
ohos.permission.READ_MEDIA
'
,
'
ohos.permission.WRITE_MEDIA
'
];
let
list
:
Array
<
Permissions
>
=
[
'
ohos.permission.READ_MEDIA
'
,
'
ohos.permission.WRITE_MEDIA
'
];
let
permissionRequestResult
;
let
permissionRequestResult
;
let
atManager
=
abilityAccessCtrl
.
createAtManager
();
let
atManager
=
abilityAccessCtrl
.
createAtManager
();
atManager
.
requestPermissionsFromUser
(
this
.
context
,
list
,
(
err
,
result
)
=>
{
atManager
.
requestPermissionsFromUser
(
this
.
context
,
list
,
(
err
,
result
)
=>
{
if
(
err
)
{
if
(
err
)
{
console
.
error
(
'
requestPermissionsFromUserError:
'
+
JSON
.
stringify
(
err
));
console
.
error
(
'
requestPermissionsFromUserError:
'
+
JSON
.
stringify
(
err
));
}
else
{
}
else
{
permissionRequestResult
=
result
;
permissionRequestResult
=
result
;
console
.
info
(
'
permissionRequestResult:
'
+
JSON
.
stringify
(
permissionRequestResult
));
console
.
info
(
'
permissionRequestResult:
'
+
JSON
.
stringify
(
permissionRequestResult
));
}
}
});
});
}
}
}
}
```
```
zh-cn/application-dev/file-management/medialibrary-resource-guidelines.md
浏览文件 @
8bafffc9
...
@@ -33,27 +33,27 @@ selectionArgs: MediaType.IMAGE,媒体类型为图片。
...
@@ -33,27 +33,27 @@ selectionArgs: MediaType.IMAGE,媒体类型为图片。
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
fileType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
option
=
{
let
option
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
fileType
.
toString
()],
selectionArgs
:
[
fileType
.
toString
()],
};
};
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
fetchFileResult
.
getFirstObject
().
then
((
fileAsset
)
=>
{
fetchFileResult
.
getFirstObject
().
then
((
fileAsset
)
=>
{
console
.
log
(
'
getFirstObject.displayName :
'
+
fileAsset
.
displayName
);
console
.
log
(
'
getFirstObject.displayName :
'
+
fileAsset
.
displayName
);
for
(
let
i
=
1
;
i
<
fetchFileResult
.
getCount
();
i
++
)
{
for
(
let
i
=
1
;
i
<
fetchFileResult
.
getCount
();
i
++
)
{
fetchFileResult
.
getNextObject
().
then
((
fileAsset
)
=>
{
fetchFileResult
.
getNextObject
().
then
((
fileAsset
)
=>
{
console
.
info
(
'
fileAsset.displayName
'
+
i
+
'
:
'
+
fileAsset
.
displayName
);
console
.
info
(
'
fileAsset.displayName
'
+
i
+
'
:
'
+
fileAsset
.
displayName
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
'
Failed to get next object:
'
+
err
);
console
.
error
(
'
Failed to get next object:
'
+
err
);
});
});
}
}
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
'
Failed to get first object:
'
+
err
);
console
.
error
(
'
Failed to get first object:
'
+
err
);
});
});
}
}
```
```
...
@@ -67,26 +67,26 @@ selectionArgs:2022-8-5,具体添加时间的字符串。
...
@@ -67,26 +67,26 @@ selectionArgs:2022-8-5,具体添加时间的字符串。
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
option
=
{
let
option
=
{
selections
:
fileKeyObj
.
DATE_ADDED
+
'
> ?
'
,
selections
:
fileKeyObj
.
DATE_ADDED
+
'
> ?
'
,
selectionArgs
:
[
'
2022-8-5
'
],
selectionArgs
:
[
'
2022-8-5
'
],
};
};
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
fetchFileResult
.
getFirstObject
().
then
((
fileAsset
)
=>
{
fetchFileResult
.
getFirstObject
().
then
((
fileAsset
)
=>
{
console
.
info
(
'
getFirstObject.displayName :
'
+
fileAsset
.
displayName
);
console
.
info
(
'
getFirstObject.displayName :
'
+
fileAsset
.
displayName
);
for
(
let
i
=
1
;
i
<
fetchFileResult
.
getCount
();
i
++
)
{
for
(
let
i
=
1
;
i
<
fetchFileResult
.
getCount
();
i
++
)
{
fetchFileResult
.
getNextObject
().
then
((
fileAsset
)
=>
{
fetchFileResult
.
getNextObject
().
then
((
fileAsset
)
=>
{
console
.
info
(
'
fileAsset.displayName
'
+
i
+
'
:
'
+
fileAsset
.
displayName
);
console
.
info
(
'
fileAsset.displayName
'
+
i
+
'
:
'
+
fileAsset
.
displayName
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
'
Failed to get next object:
'
+
err
);
console
.
error
(
'
Failed to get next object:
'
+
err
);
});
});
}
}
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
'
Failed to get first object:
'
+
err
);
console
.
error
(
'
Failed to get first object:
'
+
err
);
});
});
}
}
```
```
...
@@ -98,28 +98,28 @@ order: FileKey.DATE_ADDED,根据文件添加日期排序;并设置排列
...
@@ -98,28 +98,28 @@ order: FileKey.DATE_ADDED,根据文件添加日期排序;并设置排列
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
fileType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
option
=
{
let
option
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
fileType
.
toString
()],
selectionArgs
:
[
fileType
.
toString
()],
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
order
:
fileKeyObj
.
DATE_ADDED
+
"
DESC
"
,
};
};
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
fetchFileResult
.
getFirstObject
().
then
((
fileAsset
)
=>
{
fetchFileResult
.
getFirstObject
().
then
((
fileAsset
)
=>
{
console
.
info
(
'
getFirstObject.displayName :
'
+
fileAsset
.
displayName
);
console
.
info
(
'
getFirstObject.displayName :
'
+
fileAsset
.
displayName
);
for
(
let
i
=
1
;
i
<
fetchFileResult
.
getCount
();
i
++
)
{
for
(
let
i
=
1
;
i
<
fetchFileResult
.
getCount
();
i
++
)
{
fetchFileResult
.
getNextObject
().
then
((
fileAsset
)
=>
{
fetchFileResult
.
getNextObject
().
then
((
fileAsset
)
=>
{
console
.
info
(
'
fileAsset.displayName
'
+
i
+
'
:
'
+
fileAsset
.
displayName
);
console
.
info
(
'
fileAsset.displayName
'
+
i
+
'
:
'
+
fileAsset
.
displayName
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
'
Failed to get next object:
'
+
err
);
console
.
error
(
'
Failed to get next object:
'
+
err
);
});
});
}
}
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
'
Failed to get first object:
'
+
err
);
console
.
error
(
'
Failed to get first object:
'
+
err
);
});
});
}
}
```
```
...
@@ -133,24 +133,23 @@ selectionArgs:'myAlbum',具体相册名称。
...
@@ -133,24 +133,23 @@ selectionArgs:'myAlbum',具体相册名称。
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
option
=
{
let
option
=
{
selections
:
fileKeyObj
.
ALBUM_NAME
+
'
= ?
'
,
selections
:
fileKeyObj
.
ALBUM_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
myAlbum
'
],
selectionArgs
:
[
'
myAlbum
'
],
};
};
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
if
(
albumList
.
length
>
0
)
{
if
(
albumList
.
length
>
0
)
{
fetchFileResult
.
getFirstObject
().
then
((
album
)
=>
{
fetchFileResult
.
getFirstObject
().
then
((
album
)
=>
{
console
.
info
(
'
getFirstObject.displayName :
'
+
album
.
albumName
);
console
.
info
(
'
getFirstObject.displayName :
'
+
album
.
albumName
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
'
Failed to get first object:
'
+
err
);
console
.
error
(
'
Failed to get first object:
'
+
err
);
});
});
}
else
{
}
else
{
console
.
info
(
'
getAlbum list is: 0
'
);
console
.
info
(
'
getAlbum list is: 0
'
);
}
}
}
}
```
```
...
@@ -169,24 +168,24 @@ async function example() {
...
@@ -169,24 +168,24 @@ async function example() {
1.
建立检索条件,用于获取目的相册实例。
1.
建立检索条件,用于获取目的相册实例。
```
ts
```
ts
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
AlbumNoArgsFetchOp
=
{
let
AlbumNoArgsFetchOp
=
{
selections
:
fileKeyObj
.
ALBUM_NAME
+
'
= ?
'
,
selections
:
fileKeyObj
.
ALBUM_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
新建相册1
'
]
selectionArgs
:
[
'
新建相册1
'
]
}
}
```
```
2.
建立检索条件,用于获取目的相册下的视频资源。
2.
建立检索条件,用于获取目的相册下的视频资源。
```
ts
```
ts
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
videoType
=
mediaLibrary
.
MediaType
.
VIDEO
;
let
videoType
=
mediaLibrary
.
MediaType
.
VIDEO
;
let
videoFetchOp
=
{
let
videoFetchOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
videoType
.
toString
()],
selectionArgs
:
[
videoType
.
toString
()],
}
}
```
```
3.
通过Album.getFileAssets获取对应的资源。
3.
通过Album.getFileAssets获取对应的资源。
...
@@ -194,28 +193,28 @@ async function example() {
...
@@ -194,28 +193,28 @@ async function example() {
```
ts
```
ts
async
function
getCameraImagePromise
()
{
async
function
getCameraImagePromise
()
{
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
videoType
=
mediaLibrary
.
MediaType
.
VIDEO
;
let
videoType
=
mediaLibrary
.
MediaType
.
VIDEO
;
let
videoFetchOp
=
{
let
videoFetchOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
videoType
.
toString
()],
selectionArgs
:
[
videoType
.
toString
()],
}
}
let
AlbumNoArgsFetchOp
=
{
let
AlbumNoArgsFetchOp
=
{
selections
:
fileKeyObj
.
ALBUM_NAME
+
'
= ?
'
,
selections
:
fileKeyObj
.
ALBUM_NAME
+
'
= ?
'
,
selectionArgs
:
[
'
新建相册1
'
]
selectionArgs
:
[
'
新建相册1
'
]
}
}
let
albumList
=
await
media
.
getAlbums
(
AlbumNoArgsFetchOp
);
let
albumList
=
await
media
.
getAlbums
(
AlbumNoArgsFetchOp
);
if
(
albumList
.
length
>
0
)
{
if
(
albumList
.
length
>
0
)
{
const
album
=
albumList
[
0
];
const
album
=
albumList
[
0
];
let
fetchFileResult
=
await
album
.
getFileAssets
(
videoFetchOp
);
let
fetchFileResult
=
await
album
.
getFileAssets
(
videoFetchOp
);
let
count
=
fetchFileResult
.
getCount
();
let
count
=
fetchFileResult
.
getCount
();
console
.
info
(
"
get mediaLibrary VIDEO number
"
,
count
);
console
.
info
(
"
get mediaLibrary VIDEO number
"
,
count
);
}
else
{
}
else
{
console
.
info
(
'
getAlbum list is: 0
'
);
console
.
info
(
'
getAlbum list is: 0
'
);
}
}
}
}
```
```
...
@@ -243,32 +242,32 @@ async function getCameraImagePromise() {
...
@@ -243,32 +242,32 @@ async function getCameraImagePromise() {
```
ts
```
ts
async
function
getFirstThumbnailPromise
()
{
async
function
getFirstThumbnailPromise
()
{
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
imageType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
imagesFetchOp
=
{
let
imagesFetchOp
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
imageType
.
toString
()],
selectionArgs
:
[
imageType
.
toString
()],
}
}
let
size
=
{
width
:
720
,
height
:
720
};
let
size
=
{
width
:
720
,
height
:
720
};
const
fetchFileResult
=
await
media
.
getFileAssets
(
imagesFetchOp
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
imagesFetchOp
);
if
(
fetchFileResult
===
undefined
)
{
if
(
fetchFileResult
===
undefined
)
{
console
.
error
(
"
get image failed with error
"
);
console
.
error
(
"
get image failed with error
"
);
return
;
return
;
}
else
{
}
else
{
const
asset
=
await
fetchFileResult
.
getFirstObject
();
const
asset
=
await
fetchFileResult
.
getFirstObject
();
asset
.
getThumbnail
(
size
).
then
((
pixelMap
)
=>
{
asset
.
getThumbnail
(
size
).
then
((
pixelMap
)
=>
{
pixelMap
.
getImageInfo
().
then
((
info
)
=>
{
pixelMap
.
getImageInfo
().
then
((
info
)
=>
{
console
.
info
(
'
get Thumbnail info:
'
+
"
width:
"
+
info
.
size
.
width
+
"
height:
"
+
info
.
size
.
height
);
console
.
info
(
'
get Thumbnail info:
'
+
"
width:
"
+
info
.
size
.
width
+
"
height:
"
+
info
.
size
.
height
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
"
getImageInfo failed with error:
"
+
err
);
console
.
error
(
"
getImageInfo failed with error:
"
+
err
);
});
});
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
"
getImageInfo failed with error:
"
+
err
);
console
.
error
(
"
getImageInfo failed with error:
"
+
err
);
});
});
}
}
}
}
```
```
...
@@ -286,16 +285,16 @@ async function getFirstThumbnailPromise() {
...
@@ -286,16 +285,16 @@ async function getFirstThumbnailPromise() {
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
mediaType
=
mediaLibrary
.
MediaType
.
FILE
;
let
mediaType
=
mediaLibrary
.
MediaType
.
FILE
;
let
DIR_DOCUMENTS
=
mediaLibrary
.
DirectoryType
.
DIR_DOCUMENTS
;
let
DIR_DOCUMENTS
=
mediaLibrary
.
DirectoryType
.
DIR_DOCUMENTS
;
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
path
=
await
media
.
getPublicDirectory
(
DIR_DOCUMENTS
);
const
path
=
await
media
.
getPublicDirectory
(
DIR_DOCUMENTS
);
media
.
createAsset
(
mediaType
,
"
testFile.text
"
,
path
).
then
((
asset
)
=>
{
media
.
createAsset
(
mediaType
,
"
testFile.text
"
,
path
).
then
((
asset
)
=>
{
console
.
info
(
"
createAsset successfully:
"
+
JSON
.
stringify
(
asset
));
console
.
info
(
"
createAsset successfully:
"
+
JSON
.
stringify
(
asset
));
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
"
createAsset failed with error:
"
+
err
);
console
.
error
(
"
createAsset failed with error:
"
+
err
);
});
});
}
}
```
```
...
@@ -321,26 +320,26 @@ async function example() {
...
@@ -321,26 +320,26 @@ async function example() {
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileType
=
mediaLibrary
.
MediaType
.
FILE
;
let
fileType
=
mediaLibrary
.
MediaType
.
FILE
;
let
option
=
{
let
option
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
fileType
.
toString
()],
selectionArgs
:
[
fileType
.
toString
()],
};
};
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
let
asset
=
await
fetchFileResult
.
getFirstObject
();
let
asset
=
await
fetchFileResult
.
getFirstObject
();
if
(
asset
===
undefined
)
{
if
(
asset
===
undefined
)
{
console
.
error
(
'
asset not exist
'
);
console
.
error
(
'
asset not exist
'
);
return
;
return
;
}
}
//回调为空
//回调为空
asset
.
trash
(
true
).
then
(()
=>
{
asset
.
trash
(
true
).
then
(()
=>
{
console
.
info
(
"
trash successfully
"
);
console
.
info
(
"
trash successfully
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
error
(
"
trash failed with error:
"
+
err
);
console
.
error
(
"
trash failed with error:
"
+
err
);
});
});
}
}
```
```
...
@@ -369,28 +368,28 @@ async function example() {
...
@@ -369,28 +368,28 @@ async function example() {
```
ts
```
ts
async
function
example
()
{
async
function
example
()
{
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileKeyObj
=
mediaLibrary
.
FileKey
;
let
fileType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
fileType
=
mediaLibrary
.
MediaType
.
IMAGE
;
let
option
=
{
let
option
=
{
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selections
:
fileKeyObj
.
MEDIA_TYPE
+
'
= ?
'
,
selectionArgs
:
[
fileType
.
toString
()],
selectionArgs
:
[
fileType
.
toString
()],
};
};
const
context
=
getContext
(
this
);
const
context
=
getContext
(
this
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
let
media
=
mediaLibrary
.
getMediaLibrary
(
context
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
const
fetchFileResult
=
await
media
.
getFileAssets
(
option
);
let
asset
=
await
fetchFileResult
.
getFirstObject
();
let
asset
=
await
fetchFileResult
.
getFirstObject
();
if
(
asset
===
undefined
)
{
if
(
asset
===
undefined
)
{
console
.
error
(
'
asset not exist
'
);
console
.
error
(
'
asset not exist
'
);
return
;
return
;
}
asset
.
displayName
=
'
newImage.jpg
'
;
//回调为空
asset
.
commitModify
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
fileRename Failed
'
);
return
;
}
}
asset
.
displayName
=
'
newImage.jpg
'
;
console
.
info
(
'
fileRename successful.
'
);
//回调为空
});
asset
.
commitModify
((
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
fileRename Failed
'
);
return
;
}
console
.
info
(
'
fileRename successful.
'
);
});
}
}
```
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录