用户可借助此项目在 Flutter 应用中实现图片、视频等媒体文件保存至 Android、iOS 和 HarmonyOS 系统相册。支持多种格式、批量保存、指定相册路径及文件去重,适配多平台权限管理。【此简介由AI生成】
saver_gallery
本项目基于 saver_gallery@5.1.0 开发,适配 Flutter 3.27.5-ohos-1.0.3。
1. 安装与使用
1.1 安装方式
在 pubspec.yaml 中添加以下依赖:
dependencies:
saver_gallery:
git:
url: https://gitcode.com/xiaoyangming/flutter_saver_gallery_ohos.git
ref: v5.1.0-ohos-3.27
执行命令:
flutter pub get
仓库名
flutter_saver_gallery_ohos,Dart 包名仍为saver_gallery。
若 example 或业务工程还依赖 path_provider、permission_handler 等,需按 3.27-ohos 生态添加相应 git 源,可参考 example/pubspec.yaml 中的 dependency_overrides。
1.2 使用案例
使用案例详见 example。
2. 约束与限制
2.1 兼容性
在以下版本中已测试通过:
- Flutter: 3.27.5-ohos-1.0.3;Dart: 3.6.2;SDK: 5.0.0(12)
2.2 鸿蒙权限
保存到相册通过 showAssetsCreationDialog 系统弹窗授权,example 通常仅需 ohos.permission.INTERNET(网络下载示例)。
2.3 已知差异
- OHOS 原生层当前未处理
albumPath/relativePath,文件保存到系统默认相册位置(Android/iOS 支持自定义子目录)。
3. API(ohos 支持情况)
| API | 说明 | ohos Support |
|---|---|---|
SaverGallery.saveImage |
保存图片字节 | yes |
SaverGallery.saveFile |
保存本地文件 | yes |
SaverGallery.saveImages |
批量保存图片 | yes |
SaverGallery.saveFiles |
批量保存文件 | yes |
SaveResult.savedUri / savedUris |
返回保存 URI | yes |
SaverGallery.clearCache |
清理临时缓存 | yes |
albumPath |
自定义相册路径 | no |
4. 参考
- 上游:fluttercandies/saver_gallery
- pub.dev:saver_gallery