## 上传文件
### 介绍
1. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-file-upload.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
### UploadFiles
#### 介绍
1. 本示例主要介绍Web组件上传文件功能,Web组件支持前端页面选择文件上传功能,应用开发者可以使用onShowvfileSelector)接口来处理前端页面文件上传的请求,如果应用开发者不做任何处理,Web会提供默认行为来处理前端页面文件上传的请求。
#### 效果预览
| 主页 | |
| ---------------------------------------------------------- | ---------------------------------------------------------- |
|
|
|
使用方法
1. 在主页点击选择文件按钮触发onShowFileSelector事件创建DocumentSelectOptions和DocumentViewPicker,用于打开文件选择器,弹出文件选择器,用户可选择一个文件。
## 使用Web组件的下载能力
### 介绍
1. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-download.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
### ListenForPageDown
#### 介绍
1. 本示例主要介绍使用Web组件监听页面触发的下载功能,通过setDownloadDelegate()向Web组件注册一个DownloadDelegate来监听页面触发的下载任务。资源由Web组件来下载,Web组件会通过DownloadDelegate将下载的进度通知给应用。
#### 效果预览
| 主页 | 下载 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
使用说明
1. 点击setDownloadDelegate按钮,定义下载委托回调。
2. 点击下载download.html链接,触发下载任务。
### InitiatingADownloadTask
#### 介绍
1. 本示例主要介绍使用Web组件的下载能力。在Web组件启动时,可通过resumeDownload()接口恢复未完成的下载任务。
#### 效果预览
| 主页 | 下载 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
使用说明
1. 点击setDownloadDelegate按钮,定义下载委托回调。
1. 使用startDownload()接口发起一个下载。
### ResumeDownload
#### 介绍
1. 本示例主要介绍使用Web组件的下载能力。使用startDownload()接口发起一个下载,Web组件发起的下载会根据当前显示的url以及Web组件默认的Referrer Policy来计算referrer。
#### 效果预览
| 主页 |
| ----------------------------------------------------------- |
|
|
使用说明
1. 点击setDownloadDelegate按钮,定义下载委托回调。
1. 使用startDownload()接口发起一个下载。
1. 通过record按钮将当前下载任务保存至持久化文件中,记录下载任务信息。
1. 点击recovery按钮恢复下载任务。
### 工程目录
```
entry/src/main/
|---ets
|---|---entryability
|---|---|---EntryAbility.ets
|---|---pages
|---|---|---UploadFiles.ets
|---|---|---downloadUtil.ets
|---|---|---Index.ets // 首页
|---|---|---InitiatingADownloadTask.ets
|---|---|---ListenForPageDown.ets
|---|---|---ResumeDownload.ets
|---resources // 静态资源
|---ohosTest
|---|---ets
|---|---|---tests
|---|---|---|---Ability.test.ets // 自动化测试用例
```
### 相关权限
[ohos.permission.INTERNET](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet)
### 依赖
不涉及。
### 约束与限制
1. 本示例仅支持标准系统上运行,支持设备:RK3568。
2. 本示例支持API14版本SDK,SDK版本号(API Version 14 Release)。
3. 本示例需要使用DevEco Studio 版本号(5.0.1Release)才可编译运行。
### 下载
如需单独下载本工程,执行如下命令:
```
git init
git config core.sparsecheckout true
echo code/DocsSample/ArkWeb/ManageWebPageFileIO > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
```