鸿蒙端云一体开发实践:用 ArkTS + OBS 搭建云相册应用

举报
yd_216328658 发表于 2026/11/10 09:44:33 2026/11/10
【摘要】 基于 HarmonyOS ArkTS 与华为云 OBS 搭建端云一体云相册的实践:图片选择压缩、预签名 URL 直传、存储分层与三个常见踩坑点的记录。

一、场景背景

手机本地相册容量有限,换机迁移、多设备同步都是痛点。基于 HarmonyOS 的端云一体能力,配合华为云 OBS 对象存储,可以低成本搭建一个"拍照即上云"的云相册应用。本文记录从零搭建的关键步骤与踩坑点。

二、环境准备

1. DevEco Studio 创建 ArkTS 工程(API 12+);2. 华为云控制台创建 OBS 桶,建议开启归档存储降成本;3. 为应用创建 IAM 子账号并最小化授权,只授予所在桶的读写权限,避免把主账号 AK/SK 写进端侧代码。

三、端侧实现要点

图片选择用 photoAccessHelper 的 PhotoViewPicker,拿到 uri 后用 fs 拷贝到沙箱目录再上传。上传走 @ohos.net.http,注意大图要先压缩:用 @ohos.multimedia.image 的 createImageSource 配合 packing 接口,把 4000px 原图压到 1600px、质量 80,体积一般能降 80% 以上,弱网体验明显改善。

四、云侧直传方案

若经服务器中转,流量走两跳、时延翻倍。更优做法是由 FunctionGraph 生成 OBS 预签名 URL 下发给端侧,端侧直传 OBS。签名 URL 有效期建议 15 分钟,桶策略同时限制 Content-Type 与最大长度,防止被滥用。

五、踩坑记录

1. 上传偶发 http 2301099:多为未配置 ohos.permission.INTERNET 或后台快照时网络被挂起,申请长时任务即可;2. 同名对象会被覆盖,对象键建议用"设备号+时间戳+hash";3. 归档桶取回有分钟级延迟,相册浏览走标准存储层更合适。

六、小结

端云一体的核心是把"端侧体验"和"云侧成本"一起设计:端侧负责压缩与断点续传,云侧用预签名直传减少中转,存储分层控制成本。整体链路跑通后,单张照片的云端成本可以压到厘级。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。