【HarmonyOS NEXT】示例代码-上传和下载

打印 上一主题 下一主题

主题 1004|帖子 1004|积分 3012

先容

本示例使用@ohos.request接口创建上传和下载任务,实现上传、下载功能,hfs作为服务器,实现了文件的上传和下载和任务的查询功能。
结果预览

主页上传下载

  

  

  使用说明

  • 本示例功能必要先设置服务器环境后使用,详细设置见上传下载服务设置。
  • 首页展示上传和下载两个入口组件,点击进入对应的页面,如果要使用后台下载任务,请开启后台任务开关。
  • 上传页面(请先在图库中确定已开启图库权限):
    3.1 点击+从相册选择拉起图库选择照片,图片选择页面支持拍照,选择照片后点击发表进行上传。
    3.2 在首页中打开后台任务开关后,上传页面开启的是后台上传任务,后台任务在应用退出到后台时可以在关照栏看到任务状态。
  • 下载页面:
    4.1 点击文件列表选择要下载的文件后,点击下载选择指定路径后开始下载。
    4.2 点击查看下载文件进入下载文件页面,点击文件夹查看文件夹内的文件。
    4.3 在首页中打开后台任务开关后,下载页面开启的是后台下载任务,后台任务在应用退出到后台时可以在关照栏看到任务状态。
    4.4 前台下载时只支持单文件下载,后台下载时支持选择多个文件下载。
工程目录

  1. 解释
  2. ├──entry/src/main/ets/                              // 应用首页
  3. │  ├──components            
  4. │  │  ├──AddPictures.ets                            // 添加图片组件
  5. │  │  ├──CustomDataSource.ets                       // 自定义数据源
  6. │  │  └──SelectFolderDialog.ets                     // 选择文件夹组件
  7. │  ├──entryability
  8. │  │  └──EntryAbility.ets                           // 程序入口类
  9. │  └──pages
  10. │     ├──Download.ets                               // 下载页面                    
  11. │     ├──DownloadFiles.ets                          // 查看下载文件页面
  12. │     ├──Index.ets                                  // 主页入口
  13. │     └──Upload.ets                                 // 上传页面
  14. ├──entry/src/main/resources                         // 应用静态资源目录
  15. ├──features/uploadanddownload/src/main/ets/         // 上传和下载
  16. │  ├──components
  17. │  │  └──FileBrowse.ets                             // 查看下载文件组件  
  18. │  ├──download                                      // 下载任务相关
  19. │  │  ├──model
  20. │  │  │  └──FileModel.ets
  21. │  │  ├──RequestDownload.ets                        // 下载模块
  22. │  │  └──RequestFiles.ets
  23. │  ├──upload                                        
  24. │  │  └──RequestUpload.ets                          // 上传模块
  25. │  └──utils                                         // 相关工具类
  26. │     ├──Constants.ets
  27. │     ├──FileUtils.ets
  28. │     ├──Logger.ets
  29. │     ├──MediaUtils.ets
  30. │     └──UrlUtils.ets
  31. └──features/uploadanddownload/src/main/resources    // 应用静态资源目录
复制代码
详细实现



  • 该示例分为两个模块:

    • 上传模块

      • 使用@ohos.request中接口agent.create创建上传任务,调用@ohos.request中的Task相干接口实现上传任务的创建、取消、进度加载,失败的任务会调用查询接口获取失败原因并打印在日志中,支持多个文件上传。
      • 源码链接:RequestUpload.ets,AddPictures.ets,Upload.ets
      • 参考接口:@ohos.request,@ohos.file.picker

    • 下载模块

      • 使用@ohos.request中接口agent.create创建上传任务,调用@ohos.request中的Task相干接口实现上传任务的创建、取消、停息、继承、进度加载,失败的任务会调用查询接口获取失败原因并打印在日志中,前台下载任务只支持单个文件下载,后台下载任务支持多文件下载。使用@ohos.file.fs完成指定路径的创建和查询已下载的文件。
      • 源码链接:RequestDownload.ets,Download.ets,FileUtils.ets,FileBrowse.ets
      • 参考接口:@ohos.request,@ohos.file.fs


相干权限

ohos.permission.INTERNET:答应应用在上传下载场景中访问网络
依赖

上传下载服务设置。

更多详情参考:示例代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

反转基因福娃

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表