鸿蒙base64编码字符集转化成图片文件

简介: 鸿蒙base64编码字符集转化成图片文件


/**
   * base64编码字符集转化成图片文件。
   *
   * @param base64Str
   * @param path      文件存储路径
   * @return 是否成功
   */
  async base64ToFile(base64Str:string, path:string): Promise<boolean> {
    // 需要将前缀 data:image/jpg;base64, 过滤掉
    if (base64Str.startsWith("data:image")) {
      let splitBase64Str:string[] = base64Str.split(",");
      base64Str = splitBase64Str[1];
    }
    let base64 = new  util.Base64Helper();
    let data:Uint8Array = base64.decodeSync(base64Str, util.Type.MIME);
    for (let i = 0; i < data.length; i++) {
      if (data[i] < 0) {
        //调整异常数据
        data[i] += 256;
      }
    }
    let helper = photoAccessHelper.getPhotoAccessHelper(context);
    try {
      let result_read = await PermissionHelper.getInstance().reqPermissions(PermissionHelper.READ_MEDIA)
      if (result_read) {
        let result_write = await PermissionHelper.getInstance().reqPermissions(PermissionHelper.WRITE_MEDIA)
        if (result_write) {
          // 触发后5秒内通过createAsset接口创建图片文件,5秒后createAsset权限收回。
          let uri = await helper.createAsset(photoAccessHelper_.PhotoType.IMAGE, 'jpg');
          // 使用uri打开文件,可以持续写入内容,写入过程不受时间限制
          let file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
          fs.writeSync(file.fd, data);
          fs.closeSync(file);
        }
      }
      return true;
    } catch (e) {
      showToast("申请权限");
      e.printStackTrace();
    }
    return false;
  }
目录
相关文章
|
11月前
|
纯血鸿蒙来画龙!基于HarmonyOS ArkTS来操作SVG图片
大家好,龙年报喜,大地回春,作为程序员,以代码之名,表达对于龙年的祝福。本节将演示如何在基于HarmonyOS ArkTS的Image组件来实现画一条中国龙,祝大家“码”上“鸿”福到!
291 0
|
4月前
|
自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
通过学习API 13,我深入研究了**PreviewKit(文件预览服务)**。该模块支持快速预览多种文件类型(文本、图片、视频、音频、PDF等),为文件管理类应用提供系统级支持。本文分享了从搭建开发环境到实现单文件和多文件预览的全过程,并介绍了如何构建一个实用的文件预览助手应用。通过实践,不仅掌握了技术细节,还提升了个人开发能力。希望这些经验能为其他开发者带来启发与帮助。
108 10
自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
|
4月前
|
【HarmonyOS Next开发】用户文件访问
文件所有者为登录到该终端设备的用户,包括用户私有的图片、视频、音频、文档等。 应用对用户文件的创建、访问、删除等行为,需要提前获取用户授权,或由用户操作完成。
108 10
【HarmonyOS Next开发】用户文件访问
|
4月前
|
【HarmonyOS学习】应用文件访问
访问和管理应用文件,对于每个应用,系统会在内部存储空间映射出一个专属的应用沙箱目录,是应用文件目录与一部分系统文件所在的目录组成的集合。也就是应用可见的目录范围即为“应用沙箱目录”。 优点: * 隔离性:应用沙箱提供了一个完全隔离的环境,使用户可以安全地访问应用文件。 * 安全性:应用沙箱限制了应用可见地数据地最小范围,保护了应用文件地安全。
145 5
【HarmonyOS学习】应用文件访问
|
5月前
|
鸿蒙next版开发:ArkTS组件通用属性(图片边框设置)
在HarmonyOS 5.0中,ArkTS提供了灵活的图片边框设置属性,使开发者可以为应用中的图片组件添加各种边框效果,提升视觉效果和用户体验。本文详细解读了ArkTS中图片边框设置的通用属性,并提供了示例代码。通过设置`borderImage`属性,可以控制边框的图源、切割宽度、边框宽度、延伸距离、平铺模式和是否填充。示例代码展示了如何使用这些属性来创建具有不同边框效果的图片组件。图片边框设置在美化界面、区分内容和增强交互方面有重要作用。
267 5
三文带你轻松上手鸿蒙的AI语音02-声音文件转文本
三文带你轻松上手鸿蒙的AI语音02-声音文件转文本
228 0
三文带你轻松上手鸿蒙的AI语音02-声音文件转文本
HarmonyOS3项目扩展名ets文件和ts文件有什么区别
HarmonyOS3项目扩展名ets文件和ts文件有什么区别
550 0

热门文章

最新文章