| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 12-May-2024 | - | 35 | 32 | ||
| entry/ | 12-May-2024 | - | 2,292 | 2,103 | ||
| environment/ | 12-May-2024 | - | 46 | 33 | ||
| features/uploadanddownload/ | 12-May-2024 | - | 1,169 | 1,067 | ||
| hvigor/ | 12-May-2024 | - | 8 | 8 | ||
| screenshots/devices/zh/ | 12-May-2024 | - | ||||
| .gitignore | D | 12-May-2024 | 152 | 13 | 13 | |
| README_zh.md | D | 12-May-2024 | 6.4 KiB | 104 | 73 | |
| build-profile.json5 | D | 12-May-2024 | 1.1 KiB | 47 | 46 | |
| hvigorfile.ts | D | 12-May-2024 | 768 | 17 | 1 | |
| hvigorw | D | 12-May-2024 | 1.4 KiB | 49 | 28 | |
| hvigorw.bat | D | 12-May-2024 | 2 KiB | 72 | 56 | |
| oh-package.json5 | D | 12-May-2024 | 848 | 27 | 26 | |
| ohosTest.md | D | 12-May-2024 | 3.8 KiB | 17 | 15 |
README_zh.md
1# 上传和下载 2 3### 介绍 4本示例使用[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request.md)接口创建上传和下载任务,实现上传、下载功能,hfs作为服务器,实现了文件的上传和下载和任务的查询功能。 5 6### 效果预览 7 8| 主页 | 上传 | 下载 | 9| :---------------------------------------: | :---------------------------------------: | :--------------------------------------: | 10|  |  |  | 11 12使用说明 13 141.本示例功能需要先配置服务器环境后使用,具体配置见[上传下载服务配置](./environment)。 15 162.首页展示上传和下载两个入口组件,点击进入对应的页面,如果要使用后台下载任务,请开启后台任务开关。 17 183.上传页面: 19 20 点击**+**,**从相册选择**拉起图库选择照片,图片选择页面支持拍照,选择照片后点击发表进行上传。 21 22 在首页中打开后台任务开关后,上传页面开启的是后台上传任务,后台任务在应用退出到后台时可以在通知栏看到任务状态。 23 244.下载页面: 25 26 点击文件列表选择要下载的文件后,点击**下载**选择指定路径后开始下载。 27 28 点击**查看下载文件**进入下载文件页面,点击文件夹查看文件夹内的文件。 29 30 在首页中打开后台任务开关后,下载页面开启的是后台下载任务,后台任务在应用退出到后台时可以在通知栏看到任务状态。 31 32 前台下载时只支持单文件下载,后台下载时支持选择多个文件下载。 33 34### 工程目录 35 36``` 37UploadAndDownload 38├── AppScope 39│ └── app.json5 //APP信息配置文件 40├── entry/src/main //应用首页 41│ ├── ets 42│ │ ├── entryability 43│ │ ├── components //自定义组件 44│ │ ├── pages 45│ │ │ ├── Index.ets //主页入口 46│ │ │ ├── Download.ets //下载页面 47│ │ │ ├── DownloadFiles.ets //查看下载文件页面 48│ │ │ ├── Upload.ets //上传页面 49│ └── module.json5 50│ 51├── features/uploadanddownload/src/main //上传和下载 52│ ├── ets 53│ │ ├── Index.ets //对外提供的接口列表 54│ │ ├── components 55│ │ │ └── FileBrowse.ets //查看下载文件组件 56│ │ ├── download //下载任务相关 57│ │ ├── upload //上传任务相关 58│ │ ├── utils //相关工具类 59│ └── module.json5 60``` 61 62### 具体实现 63 64* 该示例分为两个模块: 65 * 上传模块 66 * 使用[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request.md)中API 10接口agent.create创建上传任务,调用@ohos.request中的Task相关接口实现上传任务的创建、取消、进度加载,失败的任务会调用查询接口获取失败原因并打印在日志中,支持多个文件上传。 67 * 源码链接:[RequestUpload.ets](./features/uploadanddownload/src/main/ets/upload/RequestUpload.ets),[AddPictures.ets](./entry/src/main/ets/components/AddPictures.ets),[Upload.ets](./entry/src/main/ets/pages/Upload.ets) 68 * 参考接口:[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request.md),[@ohos.file.picker](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-picker.md) 69 * 下载模块 70 * 使用[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request.md)中API 10接口agent.create创建上传任务,调用@ohos.request中的Task相关接口实现上传任务的创建、取消、进度加载,失败的任务会调用查询接口获取失败原因并打印在日志中,前台下载任务只支持单个文件下载,后台下载任务支持多文件下载。使用[@ohos.file.fs](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fs.md)完成指定路径的创建和查询已下载的文件。 71 * 源码链接:[RequestDownload.ets](./features/uploadanddownload/src/main/ets/download/RequestDownload.ets),[Download.ets](./entry/src/main/ets/pages/Download.ets),[FileUtils.ets](./features/uploadanddownload/src/main/ets/utils/FileUtils.ets),[FileBrowse.ets](./features/uploadanddownload/src/main/ets/components/FileBrowse.ets) 72 * 参考接口:[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request.md),[@ohos.file.fs](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fs.md) 73 74### 相关权限 75 76[ohos.permission.INTERNET](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet) 77 78[ohos.permission.READ_MEDIA](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionread_media) 79 80### 依赖 81 82[上传下载服务配置](./environment)。 83 84### 约束与限制 85 861.本示例仅支持标准系统上运行,支持设备:RK3568。 87 882.本示例为Stage模型,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release) 89 903.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。 91 924.运行本示例需全程联网。 93 94### 下载 95 96如需单独下载本工程,执行如下命令: 97 98``` 99git init 100git config core.sparsecheckout true 101echo code/BasicFeature/Connectivity/UploadAndDownload/ > .git/info/sparse-checkout 102git remote add origin https://gitee.com/openharmony/applications_app_samples.git 103git pull origin master 104```