README.md
1# FilePicker
2
3## 简介
4
5FilePicker应用是OpenHarmony中预置的系统应用,为用户提供文件选择及保存功能
6
7### 架构图
8
9![](figures/FP_FMS.png)
10
11## 目录
12
13```
14/applications/standard/filepicker
15├── figures # 架构图目录
16├── product # 产品层模块目录
17│ └── pad # pad模式模块目录
18| └── src
19| ├── main
20| ├── ets
21│ ├── MainAbility # MainAbility代码目录
22| ├── module # 公共文件目录
23| ├── pages # 业务特性的View层目录
24| ├── workers # worker对于的js文件目录
25│ └── AbilityStage.ts
26| ├── resources # 资源目录
27| └── config.json # 项目配置信息
28│ └── phone # phone模式模块目录
29| └── src
30| ├── main
31| ├── ets
32│ ├── MainAbility # MainAbility代码目录
33| ├── module # 公共文件目录
34| ├── pages # 业务特性的View层目录
35| ├── workers # worker对于的js文件目录
36│ └── AbilityStage.ts
37| ├── resources # 资源目录
38| └── config.json # 项目配置信息
39├── signature # 证书文件目录
40├── LICENSE # 许可文件
41```
42
43## 签名
441. 针对product下的每一个模块,配置build.gradle中的signingConfig。
452. 将signature目录下的sign_files.rar解压后放在build.gradle目录中配置的相应路径即可完成默认签名配置。
463. 把signature目录下的sig_hap.rar解压到任意目录。
47
48## 编译运行
491. 签名配置完成后通过IDE Build -> Make All Modules即可编译出每个模块对应的hap包。
502. 将编译生成的签名后的hap包 如phone模块的phone-entry-debug-standard-ark-signed.hap放到sig_hap.rar解压的目录。
513. 修改sign-filepicker-phone.bat中的-inputFile、-outputFile并运行sign-filepicker-phone.bat即可生成可安装的hap包。
52
53## 使用方法
54
55通过startAbilityForResult拉起FilePicker并获取FilePicker返回的数据,示例代码如下
56
57```js
58// 拉起FilePicker选择文件
59globalThis.context.startAbilityForResult(
60 {
61 bundleName: "com.ohos.filepicker",
62 abilityName: "com.ohos.filepicker.MainAbility",
63 parameters: {
64 'startMode': 'choose', //choose or save
65 }
66 },
67 { windowMode: 102 }
68)
69
70// 拉起FilePicker保存文件
71globalThis.context.startAbilityForResult(
72 {
73 bundleName: "com.ohos.filepicker",
74 abilityName: "com.ohos.filepicker.MainAbility",
75 parameters: {
76 'startMode': 'save', //choose or save
77 'saveFile': 'test.jpg',
78 }
79 },
80 { windowMode: 102 }
81)
82
83// file picker返回给startAbilityForResult的数据
84var abilityResult = {
85 resultCode: resultCode,
86 want: {
87 parameters: {
88 'startMode': startMode,
89 'result': result
90 }
91 }
92}
93globalThis.context.terminateSelfWithResult(abilityResult)
94```
95
96## 相关仓
97
98系统应用
99
100**applications_filepicker**
101
README_ZH.md
1# FilePicker
2
3## 简介
4
5FilePicker应用是OpenHarmony中预置的系统应用,为用户提供文件选择及保存功能
6
7### 架构图
8
9![](figures/FP_FMS.png)
10
11## 目录
12
13```
14/applications/standard/filepicker
15├── figures # 架构图目录
16├── product # 产品层模块目录
17│ └── pad # pad模式模块目录
18| └── src
19| ├── main
20| ├── ets
21│ ├── MainAbility # MainAbility代码目录
22| ├── module # 公共文件目录
23| ├── pages # 业务特性的View层目录
24| ├── workers # worker对于的js文件目录
25│ └── AbilityStage.ts
26| ├── resources # 资源目录
27| └── config.json # 项目配置信息
28│ └── phone # phone模式模块目录
29| └── src
30| ├── main
31| ├── ets
32│ ├── MainAbility # MainAbility代码目录
33| ├── module # 公共文件目录
34| ├── pages # 业务特性的View层目录
35| ├── workers # worker对于的js文件目录
36│ └── AbilityStage.ts
37| ├── resources # 资源目录
38| └── config.json # 项目配置信息
39├── signature # 证书文件目录
40├── LICENSE # 许可文件
41```
42
43## 签名
441. [IDE签名配置](doc/signature.md)
45
46## 编译运行
471. 签名配置完成后通过IDE Build -> Make All Modules即可编译出每个模块对应的hap包。
482. 将编译生成的签名后的hap包 如phone模块的phone-entry-debug-standard-ark-signed.hap放到sig_hap.rar解压的目录。
493. 修改sign-filepicker-phone.bat中的-inputFile、-outputFile并运行sign-filepicker-phone.bat即可生成可安装的hap包。
50
51## 使用方法
52
53通过startAbilityForResult拉起FilePicker并获取FilePicker返回的数据,示例代码如下
54
55```js
56// 拉起FilePicker选择文件
57globalThis.context.startAbilityForResult(
58 {
59 bundleName: "com.ohos.filepicker",
60 abilityName: "MainAbility",
61 parameters: {
62 'startMode': 'choose', //choose or save
63 }
64 },
65 { windowMode: 102 }
66)
67
68// 拉起FilePicker保存文件
69globalThis.context.startAbilityForResult(
70 {
71 bundleName: "com.ohos.filepicker",
72 abilityName: "MainAbility",
73 parameters: {
74 'startMode': 'save', //choose or save
75 'saveFile': 'test.jpg',
76 }
77 },
78 { windowMode: 102 }
79)
80
81// file picker返回给startAbilityForResult的数据
82var abilityResult = {
83 resultCode: resultCode,
84 want: {
85 parameters: {
86 'startMode': startMode,
87 'result': result
88 }
89 }
90}
91globalThis.context.terminateSelfWithResult(abilityResult)
92```
93
94## 相关仓
95
96系统应用
97
98**applications_filepicker**
99