HarmonyOS 应用文件上传下载
wuwuwu 2026-06-01 11:22:22 发布0 浏览 0 点赞 0 收藏
一、核心规则
- 依赖包:
ohos.request,必须声明权限:ohos.permission.INTERNET - 不支持抓包工具(Charles/Fiddler)、不支持子线程(TaskPool)调用
- 两种实现:
request.xxxFile(简易)、request.agent(功能更强)
二、上传文件
1. request.uploadFile
- 仅支持:应用缓存目录 cacheDir
- URI 格式:
internal://cache/文件名
2. request.agent.create
- 支持:公共文件 + 应用缓存目录
- 需手动管理任务:完成后
request.agent.remove(task.tid)
三、下载文件(三类场景)
1. 下载到应用内部目录
- 两种方式:
request.downloadFile/request.agent - 路径:
context.cacheDir或文件目录
2. 下载到用户公共文件(API 20+)
- 文档:
DocumentViewPicker.save()获取 URI - 音频:
AudioViewPicker.save()获取 URI - 图片 / 视频:
PhotoAccessHelper.createAsset(),需权限ohos.permission.WRITE_IMAGEVIDEO
3. 速度与超时限制(API 18+/20+)
task.setMaxSpeed():设置最大速度config.minSpeed:最低限速 + 超时判定config.timeout:连接超时 + 总超时
四、高级配置
- HTTP 拦截 配置文件:src/main/resources/base/profile/network_config.json 控制明文 HTTP 是否允许
- 通知栏跳转(API 22+) 配合 WantAgent,在 notification.wantAgent 配置跳转目标 Ability
五、一句话速记
用 ohos.request 做上传下载,必须加网络权限;简单场景用 uploadFile/downloadFile,复杂 / 公共文件用 agent,下载到用户相册需对应 Picker/PhotoHelper + 权限,可限速、超时、配置 HTTP 与通知跳转。
©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
HarmonyOS
相关推荐
鸿蒙应用适配经验——多设备、多屏幕的 UI 适配策略
li159
0
0鸿蒙应用性能优化——从启动速度到内存管理
li159
0
0
wuwuwu
我还没有写个人简介......
5
帖子
0
提问
0
粉丝
最新发布
沉浸式怎么设置
2026-06-01 15:41:06 发布鸿蒙系统是否会推出一个自己的框架
2026-05-28 11:08:46 发布热门推荐
京公网安备:11010502051901号