6d0f8b01创建于 2024年3月15日历史提交
文件最后提交记录最后更新时间
IssueNo: #I6EMPC:新增上传开发 Description: New upload development. Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: zwx1094577 <zhongyuyan1@huawei.com> 3 年前
修复Upload上传失败问题 Signed-off-by: zhaoxin24742 <zhaoxin24742@openvalley.net> 2 年前
Upload、AbilityAccessCtrl、MissionManager、StaticSubscriber、Bluetooth ohpm迁移 Signed-off-by: zwx1126739 <zhanghong121@huawei.com> 3 年前
IssueNo: #I6YPMD Description: 上传下载示例功能增强 Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: xuchang <xuchang@openvalley.net> 2 年前
IssueNo: #I6YPMD Description: 上传下载示例功能增强 Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: xuchang <xuchang@openvalley.net> 2 年前
修复UI、SystemFeature断链 Signed-off-by: zwx1126739 <zhanghong121@huawei.com> 2 年前
修复Upload上传失败问题 Signed-off-by: zhaoxin24742 <zhaoxin24742@openvalley.net> 2 年前
IssueNo: #I6EMPC:新增上传开发 Description: New upload development. Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: zwx1094577 <zhongyuyan1@huawei.com> 3 年前
Upload、AbilityAccessCtrl、MissionManager、StaticSubscriber、Bluetooth ohpm迁移 Signed-off-by: zwx1126739 <zhanghong121@huawei.com> 3 年前
Upload、AbilityAccessCtrl、MissionManager、StaticSubscriber、Bluetooth ohpm迁移 Signed-off-by: zwx1126739 <zhanghong121@huawei.com> 3 年前
Upload、AbilityAccessCtrl、MissionManager、StaticSubscriber、Bluetooth ohpm迁移 Signed-off-by: zwx1126739 <zhanghong121@huawei.com> 3 年前
IssueNo: #I6YPMD Description: 上传下载示例功能增强 Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: xuchang <xuchang@openvalley.net> 2 年前
README_zh.md

上传和下载

介绍

本示例主要展示Request服务向三方应用提供系统上传和下载服务能力,通过@ohos.request@ohos.multimedia.mediaLibrary 等接口去实现图片的选取与上传,通过@ohos.request@ohos.net.http 等接口获取下载列表和开始下载任务。

效果预览

首页 上传首页 添加图片
image image image
已添加图片 上传中 上传成功
image image image
下载首页 下载中 下载成功
image image image

使用说明

1.安装应用前,先本地配置好服务器;

2.将config.ets 文件中的服务器地址替换成配置好的服务器地址;

3.启动应用,点击允许访问权限进入;

4.点击上传示例,点击加号,点击拍摄进行拍照,点击从图库选择进行选取照片,图片会进行上传,上传成功后会有弹窗提示;

5.返回,点击下载示例,如果服务器有文件,点击全部下载,会下载所有列表文件。

工程目录

entry/src/main/ets/
|	├─Application
|	│      MyAbilityStage.ets       
|	│      
|	├─componets
|	│      AddPictures.ets              //图片添加
|	│      DownloadController.ets       //下载交互控件
|	│      NavigationBar.ets            //导航栏
|	│      RequestBar.ets               //上传工具栏
|	│      SelectDialog.ets             //选择弹窗
|	│      UploadController.ets         //上传交互控件
|	│      
|	├─config
|	│      config.ets                   //配置文件
|	│      
|	├─download
|	│  └─pages
|	│          Download.ets             //下载首页
|	│          
|	├─feature
|	│      CameraService.ts             //相机服务
|	│      CostTimeCompute.ets          //耗时计算
|	│      DateTimeUtil.ts              //日期工具
|	│      GetPictures.ets              //获取图片
|	│      MediaUtils.ts                //媒体工具
|	│      UploadFile.ts                //上传文件
|	│      
|	├─MainAbility
|	│      MainAbility.ets              //主Ability
|	│      
|	├─pages
|	│      Index.ets                    //首页
|	│      
|	├─upload    
|	│  └─pages      
|	│          CameraPage.ets           //相机页
|	│          Upload.ets               //上传页
|	│          
|	└─util
|	        Logger.ts                   //日志工具
|	        Style.ts                    //样式

具体实现

  • 上传控件,源码参考:UploadController.ets
    • 使用 @ohos.request.uploadFile 开启上传任务
    • 使用 UploadTask.on('progress') 监听上传进度
    • 使用 UploadTask.on('complete'|'fail') 监听上传结果
  • 下载控件,源码参考:DownloadController.ets
    • 使用 @ohos.request.downloadFile 开启下载任务
    • 使用 DownloadTask.on('progress') 监听下载进度
    • 使用 DownloadTask.on('complete'|'fail') 监听下载结果

相关权限

本示例需要在module.json5中配置如下权限:

1.允许应用读取用户外部存储中的媒体文件信息权限:ohos.permission.READ_MEDIA

2.允许应用使用相机拍摄照片和录制视频权限:ohos.permission.CAMERA

3.允许应用读写用户外部存储中的媒体文件信息权限:ohos.permission.WRITE_MEDIA

4.允许使用Internet网络权限:ohos.permission.INTERNET

依赖

1.需要本地配置好HFS服务器,创建好支持上传的文件目录;

2.执行uiTest时,相册需要有两张图片可供选择;

约束与限制

1.本示例仅支持标准系统上运行,支持设备:RK3568;

2.本示例已适配API version 10版本SDK,版本号:4.0.9.1;

3.本示例需要使用DevEco Studio 3.1 Release (Build Version: 3.1.0.500, built on April 28, 2023)及以上版本才可编译运行;

4.本示例需要使用系统权限的接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考替换指南

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/SystemFeature/Connectivity/Upload/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master