1# FilePicker 2 3## 简介 4 5FilePicker应用是OpenHarmony中预置的系统应用,为用户提供文件选择及保存功能 6 7### 架构图 8 9 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