Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
fa97eacf
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看板
未验证
提交
fa97eacf
编写于
5月 19, 2023
作者:
O
openharmony_ci
提交者:
Gitee
5月 19, 2023
浏览文件
操作
浏览文件
下载
差异文件
!18425 备份恢复接口说明文档说明调整
Merge pull request !18425 from 花轻似梦/master
上级
6f1eac15
3fea5e52
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
426 addition
and
163 deletion
+426
-163
zh-cn/application-dev/reference/apis/js-apis-file-backup.md
zh-cn/application-dev/reference/apis/js-apis-file-backup.md
+426
-163
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-file-backup.md
浏览文件 @
fa97eacf
...
...
@@ -19,9 +19,9 @@ import backup from '@ohos.file.backup';
**系统能力**
:SystemCapability.FileManagement.StorageService.Backup
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ------------------------- |
| bundleName | string | 是 | 应用名称,可通过
[
bundle.BundleInfo
](
js-apis-bundle-BundleInfo.md
)
提供的获取方式获取。
|
| 名称 | 类型 | 必填 | 说明
|
| ---------- | ------ | ---- | -------------------------
---------------------------------------------------------------------
|
| bundleName | string | 是 | 应用名称,可通过
[
bundle.BundleInfo
](
js-apis-bundle-BundleInfo.md
)
提供的获取方式获取。 |
| uri | string | 是 | 应用沙箱内待传输文件的名称,当前uri尚未升级为标准格式,仅接受0-9a-zA-Z下划线(_)点(.)组成的名称 |
## FileData
...
...
@@ -70,14 +70,15 @@ onFileReady : AsyncCallback<File>
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
...
...
@@ -103,14 +104,15 @@ onBundleBegin : AsyncCallback<string>
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
...
...
@@ -134,14 +136,15 @@ onBundleEnd : AsyncCallback<string>
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
...
...
@@ -165,14 +168,15 @@ onAllBundlesEnd : AsyncCallback<undefined>
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
...
...
@@ -213,20 +217,21 @@ getLocalCapabilities(callback: AsyncCallback<FileData>): void
**参数:**
| 参数名 | 类型
| 必填 | 说明
|
| -------- | -------------------------
| ---- |
--------------------- |
| 参数名 | 类型
| 必填 | 说明
|
| -------- | -------------------------
----------------- | ---- | ---------------------------------
--------------------- |
| callback | AsyncCallback
<
[FileData](#filedata)
>
| 是 | 回调函数。当获取成功,err为undefined,否则为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
...
...
@@ -275,31 +280,34 @@ getLocalCapabilities(): Promise<FileData>
**返回值:**
| 类型
| 说明
|
| --------------------
|
------------------ |
| 类型
| 说明
|
| --------------------
---------------- | ---------------------------------
------------------ |
| Promise
<
[FileData](#filedata)
>
| Promise对象,返回描述本地能力的Json文件的FileData。 |
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
```
js
import
fs
from
'
@ohos.file.fs
'
;
try
{
let
fileData
=
await
backup
.
getLocalCapabilities
();
console
.
info
(
'
getLocalCapabilities success
'
);
fs
.
closeSync
(
fileData
.
fd
);
}
catch
(
err
)
{
console
.
error
(
'
getLocalCapabilities failed with err:
'
+
err
);
async
function
getLocalCapabilities
()
{
try
{
let
fileData
=
await
backup
.
getLocalCapabilities
();
console
.
info
(
'
getLocalCapabilities success
'
);
fs
.
closeSync
(
fileData
.
fd
);
}
catch
(
err
)
{
console
.
error
(
'
getLocalCapabilities failed with err:
'
+
err
);
}
}
```
...
...
@@ -345,7 +353,7 @@ constructor(callbacks: GeneralCallbacks);
```
js
import
fs
from
'
@ohos.file.fs
'
;
let
sessionBackup
=
new
backup
.
SessionBackup
({
let
generalCallbacks
=
backup
.
GeneralCallbacks
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
...
...
@@ -375,6 +383,7 @@ constructor(callbacks: GeneralCallbacks);
console
.
info
(
'
service died
'
);
}
});
let
sessionBackup
=
new
backup
.
SessionBackup
(
generalCallbacks
);
```
### appendBundles
...
...
@@ -397,19 +406,52 @@ appendBundles(bundlesToBackup: string[], callback: AsyncCallback<void>): v
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900005 | I/O error
|
| 13900011 | Out of memory
|
| 13900020 | Invalid argument
|
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
```
js
import
fs
from
'
@ohos.file.fs
'
;
let
sessionBackup
=
new
backup
.
SessionBackup
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
},
onBundleBegin
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleBegin failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleBegin success
'
);
},
onBundleEnd
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleEnd success
'
);
},
onAllBundlesEnd
:
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
onAllBundlesEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
onBackupServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
try
{
sessionBackup
.
appendBundles
([
'
com.example.hiworld
'
],
(
err
)
=>
{
if
(
err
)
{
...
...
@@ -447,24 +489,58 @@ appendBundles(bundlesToBackup: string[]): Promise<void>
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900005 | I/O error
|
| 13900011 | Out of memory
|
| 13900020 | Invalid argument
|
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
```
js
try
{
await
sessionBackup
.
appendBundles
([
'
com.example.hiworld
'
]);
console
.
info
(
'
appendBundles success
'
);
}
catch
(
err
)
{
import
fs
from
'
@ohos.file.fs
'
;
let
sessionBackup
=
new
backup
.
SessionBackup
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
},
onBundleBegin
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleBegin failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleBegin success
'
);
},
onBundleEnd
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleEnd success
'
);
},
onAllBundlesEnd
:
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
onAllBundlesEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
onBackupServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
async
function
appendBundles
()
{
try
{
await
sessionBackup
.
appendBundles
([
'
com.example.hiworld
'
]);
console
.
info
(
'
appendBundles success
'
);
}
catch
(
err
)
{
console
.
error
(
'
appendBundles failed with err:
'
+
err
);
}
}
```
...
...
@@ -492,7 +568,7 @@ constructor(callbacks: GeneralCallbacks);
```
js
import
fs
from
'
@ohos.file.fs
'
;
let
sessionRestore
=
new
backup
.
SessionRestore
({
let
generalCallbacks
=
backup
.
GeneralCallbacks
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
...
...
@@ -518,10 +594,11 @@ constructor(callbacks: GeneralCallbacks);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
on
Restore
ServiceDied
:
()
=>
{
on
Backup
ServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
let
sessionRestore
=
new
backup
.
SessionRestore
(
generalCallbacks
);
```
### appendBundles
...
...
@@ -550,30 +627,64 @@ appendBundles(remoteCapabilitiesFd: number, bundlesToBackup: string[], callback:
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900005 | I/O error
|
| 13900011 | Out of memory
|
| 13900020 | Invalid argument
|
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
```
js
try
{
let
fileData
=
await
backup
.
getLocalCapabilities
();
console
.
info
(
'
getLocalCapabilities success
'
);
sessionRestore
.
appendBundles
(
fileData
.
fd
,
[
'
com.example.hiworld
'
],
(
err
)
=>
{
import
fs
from
'
@ohos.file.fs
'
;
let
sessionRestore
=
new
backup
.
SessionRestore
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
},
onBundleBegin
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleBegin failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleBegin success
'
);
},
onBundleEnd
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleEnd success
'
);
},
onAllBundlesEnd
:
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
onAllBundlesEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
onBackupServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
async
function
appendBundles
()
{
try
{
let
fileData
=
await
backup
.
getLocalCapabilities
();
console
.
info
(
'
getLocalCapabilities success
'
);
sessionRestore
.
appendBundles
(
fileData
.
fd
,
[
'
com.example.hiworld
'
],
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
appendBundles failed with err:
'
+
err
);
}
console
.
info
(
'
appendBundles success
'
);
});
}
catch
(
err
)
{
console
.
error
(
'
appendBundles failed with err:
'
+
err
);
}
catch
(
err
)
{
console
.
error
(
'
getLocalCapabilities failed with err:
'
+
err
);
}
}
```
...
...
@@ -608,26 +719,60 @@ appendBundles(remoteCapabilitiesFd: number, bundlesToBackup: string[]): Promise&
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900005 | I/O error |
| 13900011 | Out of memory |
| 13900020 | Invalid argument |
| 13900005 | I/O error
|
| 13900011 | Out of memory
|
| 13900020 | Invalid argument
|
| 13900025 | No space left on device |
| 13900042 | Unknown error |
| 13900042 | Unknown error
|
**示例:**
```
js
try
{
let
fileData
=
await
backup
.
getLocalCapabilities
();
console
.
info
(
'
getLocalCapabilities success
'
);
await
sessionRestore
.
appendBundles
(
fileData
.
fd
,
[
'
com.example.hiworld
'
]);
console
.
info
(
'
appendBundles success
'
);
}
catch
(
err
)
{
console
.
error
(
'
appendBundles failed with err:
'
+
err
);
import
fs
from
'
@ohos.file.fs
'
;
let
sessionRestore
=
new
backup
.
SessionRestore
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
},
onBundleBegin
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleBegin failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleBegin success
'
);
},
onBundleEnd
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleEnd success
'
);
},
onAllBundlesEnd
:
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
onAllBundlesEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
onBackupServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
async
function
appendBundles
()
{
try
{
let
fileData
=
await
backup
.
getLocalCapabilities
();
console
.
info
(
'
getLocalCapabilities success
'
);
await
sessionRestore
.
appendBundles
(
fileData
.
fd
,
[
'
com.example.hiworld
'
]);
console
.
info
(
'
appendBundles success
'
);
}
catch
(
err
)
{
console
.
error
(
'
getLocalCapabilities failed with err:
'
+
err
);
}
}
```
...
...
@@ -658,18 +803,49 @@ getFileHandle(fileMeta: FileMeta, callback: AsyncCallback<void>): void
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
| 13900020 | Invalid argument
|
| 13900042 | Unknown error
|
**示例:**
```
js
try
{
sessionRestore
.
getFileHandle
({
import
fs
from
'
@ohos.file.fs
'
;
let
sessionRestore
=
new
backup
.
SessionRestore
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
},
onBundleBegin
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleBegin failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleBegin success
'
);
},
onBundleEnd
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleEnd success
'
);
},
onAllBundlesEnd
:
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
onAllBundlesEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
onBackupServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
sessionRestore
.
getFileHandle
({
bundleName
:
"
com.example.hiworld
"
,
uri
:
"
test.txt
"
},
(
err
,
file
)
=>
{
...
...
@@ -678,9 +854,6 @@ getFileHandle(fileMeta: FileMeta, callback: AsyncCallback<void>): void
}
console
.
info
(
'
getFileHandle success
'
);
});
}
catch
(
err
)
{
console
.
error
(
'
getFileHandle failed with err:
'
+
err
);
}
```
### getFileHandle
...
...
@@ -715,24 +888,58 @@ getFileHandle(fileMeta: FileMeta): Promise<void>
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
| 13900020 | Invalid argument
|
| 13900042 | Unknown error
|
**示例:**
```
js
try
{
await
sessionRestore
.
getFileHandle
({
bundleName
:
"
com.example.hiworld
"
,
uri
:
"
test.txt
"
import
fs
from
'
@ohos.file.fs
'
;
let
sessionRestore
=
new
backup
.
SessionRestore
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
},
onBundleBegin
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleBegin failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleBegin success
'
);
},
onBundleEnd
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleEnd success
'
);
},
onAllBundlesEnd
:
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
onAllBundlesEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
onBackupServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
async
function
getFileHandle
()
{
try
{
await
sessionRestore
.
getFileHandle
({
bundleName
:
"
com.example.hiworld
"
,
uri
:
"
test.txt
"
});
console
.
info
(
'
getFileHandle success
'
);
}
catch
(
err
)
{
console
.
error
(
'
getFileHandle failed with err:
'
+
err
);
console
.
info
(
'
getFileHandle success
'
);
}
catch
(
err
)
{
console
.
error
(
'
getFileHandle failed with err:
'
+
err
);
}
}
```
...
...
@@ -762,36 +969,62 @@ publishFile(fileMeta: FileMeta, callback: AsyncCallback<void>): void
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
| 13900020 | Invalid argument
|
| 13900042 | Unknown error
|
**示例:**
```
js
try
{
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
sessionRestore
.
publishFile
({
bundleName
:
file
.
bundleName
,
uri
:
file
.
uri
},
(
err
)
=>
{
import
fs
from
'
@ohos.file.fs
'
;
let
g_session
;
function
createSessionRestore
()
{
let
sessionRestore
=
new
backup
.
SessionRestore
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
publishFile
failed with err:
'
+
err
);
console
.
error
(
'
onFileReady
failed with err:
'
+
err
);
}
console
.
info
(
'
publishFile success
'
);
});
}
}
catch
(
err
)
{
console
.
error
(
'
publishFile failed with err:
'
+
err
);
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
g_session
.
publishFile
({
bundleName
:
file
.
bundleName
,
uri
:
file
.
uri
},
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
publishFile failed with err:
'
+
err
);
}
console
.
info
(
'
publishFile success
'
);
});
},
onBundleBegin
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleBegin failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleBegin success
'
);
},
onBundleEnd
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleEnd success
'
);
},
onAllBundlesEnd
:
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
onAllBundlesEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
onBackupServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
return
sessionRestore
;
}
g_session
=
createSessionRestore
();
```
### publishFile
...
...
@@ -825,30 +1058,60 @@ publishFile(fileMeta: FileMeta): Promise<void>
**错误码:**
以下错误码的详细介绍请参见
[
文件管理子系统错误码
](
../errorcodes/errorcode-filemanagement.md
)
。
| 错误码ID | 错误信息 |
| ---------------------------- | ---------- |
| 13600001 | IPC error |
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
| 13600001 | IPC error |
| 13900001 | Operation not permitted |
| 13900020 | Invalid argument |
| 13900042 | Unknown error |
| 13900020 | Invalid argument
|
| 13900042 | Unknown error
|
**示例:**
```
js
try
{
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
await
sessionRestore
.
publishFile
({
import
fs
from
'
@ohos.file.fs
'
;
let
g_session
;
async
function
publishFile
(
file
)
{
await
g_session
.
publishFile
({
bundleName
:
file
.
bundleName
,
uri
:
file
.
uri
});
console
.
info
(
'
publishFile success
'
);
},
}
catch
(
err
)
{
console
.
error
(
'
publishFile failed with err:
'
+
err
);
});
}
function
createSessionRestore
()
{
let
sessionRestore
=
new
backup
.
SessionRestore
({
onFileReady
:
(
err
,
file
)
=>
{
if
(
err
)
{
console
.
error
(
'
onFileReady failed with err:
'
+
err
);
}
console
.
info
(
'
onFileReady success
'
);
fs
.
closeSync
(
file
.
fd
);
publishFile
(
file
);
console
.
info
(
'
publishFile success
'
);
},
onBundleBegin
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleBegin failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleBegin success
'
);
},
onBundleEnd
:
(
err
,
bundleName
)
=>
{
if
(
err
)
{
console
.
error
(
'
onBundleEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onBundleEnd success
'
);
},
onAllBundlesEnd
:
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
'
onAllBundlesEnd failed with err:
'
+
err
);
}
console
.
info
(
'
onAllBundlesEnd success
'
);
},
onBackupServiceDied
:
()
=>
{
console
.
info
(
'
service died
'
);
}
});
return
sessionRestore
;
}
g_session
=
createSessionRestore
();
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录