| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 12-May-2024 | - | 36 | 33 | ||
| entry/ | 12-May-2024 | - | 4,513 | 4,135 | ||
| hvigor/ | 12-May-2024 | - | 24 | 22 | ||
| screenshots/device/ | 12-May-2024 | - | ||||
| .gitignore | D | 12-May-2024 | 143 | 10 | 10 | |
| README_zh.md | D | 12-May-2024 | 6.5 KiB | 131 | 97 | |
| build-profile.json5 | D | 12-May-2024 | 1 KiB | 42 | 41 | |
| hvigorfile.js | D | 12-May-2024 | 168 | 2 | 1 | |
| hvigorw | D | 12-May-2024 | 2.1 KiB | 64 | 28 | |
| hvigorw.bat | D | 12-May-2024 | 2 KiB | 73 | 56 | |
| oh-package.json5 | D | 12-May-2024 | 812 | 27 | 25 | |
| ohosTest.md | D | 12-May-2024 | 1.9 KiB | 25 | 22 |
README_zh.md
1# 上传和下载 2 3### 介绍 4 5本示例主要展示Request服务向三方应用提供系统上传和下载服务能力,通过[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request-sys.md),[@ohos.multimedia.mediaLibrary](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-media-library-kit/js-apis-medialibrary.md) 6等接口去实现图片的选取与上传,通过[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request-sys.md),[@ohos.net.http](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-network-kit/js-apis-http.md) 等接口获取下载列表和开始下载任务。 7 8### 效果预览 9 10| 首页 | 上传首页 | 添加图片 | 11|----------------------------------------|-------------------------------------------|-------------------------------------------| 12|  |  |  | 13 14| 已添加图片 | 上传中 | 上传成功 | 15|-------------------------------------------|-------------------------------------------|-------------------------------------------| 16|  |  |  | 17 18| 下载首页 | 下载中 | 下载成功 | 19|---------------------------------------------|---------------------------------------------|---------------------------------------------| 20|  |  |  | 21 22使用说明 23 241.安装应用前,先本地配置好服务器; 25 262.将[config.ets](entry/src/main/ets/config/config.ets) 27文件中的服务器地址替换成配置好的服务器地址; 28 293.启动应用,点击允许访问权限进入; 30 314.点击上传示例,点击加号,点击拍摄进行拍照,点击从图库选择进行选取照片,图片会进行上传,上传成功后会有弹窗提示; 32 335.返回,点击下载示例,如果服务器有文件,点击全部下载,会下载所有列表文件。 34 35### 工程目录 36 37``` 38entry/src/main/ets/ 39| ├─Application 40| │ MyAbilityStage.ets 41| │ 42| ├─componets 43| │ AddPictures.ets //图片添加 44| │ DownloadController.ets //下载交互控件 45| │ NavigationBar.ets //导航栏 46| │ RequestBar.ets //上传工具栏 47| │ SelectDialog.ets //选择弹窗 48| │ UploadController.ets //上传交互控件 49| │ 50| ├─config 51| │ config.ets //配置文件 52| │ 53| ├─download 54| │ └─pages 55| │ Download.ets //下载首页 56| │ 57| ├─feature 58| │ CameraService.ts //相机服务 59| │ CostTimeCompute.ets //耗时计算 60| │ DateTimeUtil.ts //日期工具 61| │ GetPictures.ets //获取图片 62| │ MediaUtils.ts //媒体工具 63| │ UploadFile.ts //上传文件 64| │ 65| ├─MainAbility 66| │ MainAbility.ets //主Ability 67| │ 68| ├─pages 69| │ Index.ets //首页 70| │ 71| ├─upload 72| │ └─pages 73| │ CameraPage.ets //相机页 74| │ Upload.ets //上传页 75| │ 76| └─util 77| Logger.ts //日志工具 78| Style.ts //样式 79``` 80 81### 具体实现 82 83* 上传控件,源码参考:[UploadController.ets](entry/src/main/ets/componets/UploadController.ets) 84 * 使用 @ohos.request.uploadFile 开启上传任务 85 * 使用 UploadTask.on('progress') 监听上传进度 86 * 使用 UploadTask.on('complete'|'fail') 监听上传结果 87* 下载控件,源码参考:[DownloadController.ets](entry/src/main/ets/componets/DownloadController.ets) 88 * 使用 @ohos.request.downloadFile 开启下载任务 89 * 使用 DownloadTask.on('progress') 监听下载进度 90 * 使用 DownloadTask.on('complete'|'fail') 监听下载结果 91 92### 相关权限 93 94本示例需要在module.json5中配置如下权限: 95 961.允许应用读取用户外部存储中的媒体文件信息权限:[ohos.permission.READ_MEDIA](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionread_media) 97 982.允许应用使用相机拍摄照片和录制视频权限:[ohos.permission.CAMERA](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioncamera) 99 1003.允许应用读写用户外部存储中的媒体文件信息权限:[ohos.permission.WRITE_MEDIA](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionwrite_media) 101 1024.允许使用Internet网络权限:[ohos.permission.INTERNET](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet) 103 104### 依赖 105 1061.需要本地配置好HFS服务器,创建好支持上传的文件目录; 107 1082.执行uiTest时,相册需要有两张图片可供选择; 109 110### 约束与限制 111 1121.本示例仅支持标准系统上运行,支持设备:RK3568; 113 1142.本示例已适配API version 10版本SDK,版本号:4.0.9.1; 115 1163.本示例需要使用DevEco Studio 3.1 Release (Build Version: 3.1.0.500, built on April 28, 2023)及以上版本才可编译运行; 117 1184.本示例需要使用系统权限的接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)。 119 120### 下载 121 122如需单独下载本工程,执行如下命令: 123 124``` 125git init 126git config core.sparsecheckout true 127echo code/SystemFeature/Connectivity/Upload/ > .git/info/sparse-checkout 128git remote add origin https://gitee.com/openharmony/applications_app_samples.git 129git pull origin master 130 131```