HarmonyOS鸿蒙Next中如何保存图片到相册中?

HarmonyOS鸿蒙Next中如何保存图片到相册中?

2 回复

在HarmonyOS Next中,使用PhotoAccessHelper模块保存图片到相册。首先获取相册管理器实例,通过createAsset方法创建图片资源,指定文件路径和媒体类型。使用writeBufferwriteFile写入图片数据,完成后系统自动更新相册。需提前申请相册读写权限ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEO

更多关于HarmonyOS鸿蒙Next中如何保存图片到相册中?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,可以通过以下步骤保存图片到相册:

  1. 获取图片数据:图片可以来自网络下载、应用资源或用户绘制等。
  2. 使用媒体库管理接口:通过 MediaLibraryPhotoAccessHelper 将图片写入相册。
  3. 申请存储权限:确保应用已获取 ohos.permission.WRITE_IMAGEVIDEO 权限。

示例代码(ArkTS):

import photoAccessHelper from '@ohos.file.photoAccessHelper';

async function saveImageToGallery(uri: string) {
  try {
    let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
    let options = {
      title: 'MyImage.jpg' // 设置图片名称
    };
    let asset = await phAccessHelper.createPhotoAsset(uri, options);
    console.log('图片保存成功,URI: ' + asset.uri);
  } catch (err) {
    console.error('保存失败: ' + err);
  }
}

注意事项:

  • 需在 module.json5 中声明权限。
  • 对于网络图片,需先下载到本地再保存。
  • 用户首次操作时系统会弹出权限申请对话框。
回到顶部