上一个文章我们讲了关于AI绘画的部分
在这一期我们主要实现保存到本地以及应用沙箱
我们想要保存到本地然后复制到沙箱
需要用到鸿蒙应用开发的Core File Kit(文件基础服务)
PhotoViewPicker在后续版本不再演进,建议使用安全控件创建媒体资源。
如果开发场景无法调用安全控件进行图片、视频保存,可使用相册管理模块PhotoAccessHelper.showAssetsCreationDialog接口进行保存操作。
-
导入选择器模块和基础文件API模块。
-
创建文档保存选项实例。
-
创建文件选择器DocumentViewPicker实例。调用save()接口拉起FilePicker界面进行文件保存。
注意
1、建议不在Picker的回调里直接使用此URI进行打开文件操作,需要定义一个全局变量保存URI。
2、使用Picker的save()接口获取到URI的权限是临时读写权限,待退出应用后台后,获取的临时权限就会失效。
3、如果想要获取持久化权限(仅在2in1设备上生效),请参考文件持久化授权访问。
4、可以通过便捷方式,直接将文件保存到Download目录下。
-
待界面从FilePicker返回后,使用基础文件API的fs.openSync接口,通过URI打开这个文件得到文件描述符(fd)。
-
通过(fd)使用基础文件API的fs.writeSync接口对这个文件进行编辑修改,编辑修改完成后关闭(fd)。
当然我们也需要了解应用沙箱地址:应用沙箱目录-应用文件-Core File Kit(文件基础服务)-应用框架 - 华为HarmonyOS开发者