鸿蒙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;
  }
目录
相关文章
|
程序员 开发者
纯血鸿蒙来画龙!基于HarmonyOS ArkTS来操作SVG图片
大家好,龙年报喜,大地回春,作为程序员,以代码之名,表达对于龙年的祝福。本节将演示如何在基于HarmonyOS ArkTS的Image组件来实现画一条中国龙,祝大家“码”上“鸿”福到!
339 0
|
1月前
|
缓存 JSON JavaScript
鸿蒙开发实现图片上传(上传用户头像)
本内容介绍了一种基于HarmonyOS的应用场景,主要实现图片选择、拷贝到缓存目录以及上传的功能。首先通过系统文件选择器(FilePicker)选择图片,无需额外权限;接着使用`fs`模块将选中的图片复制到应用缓存目录(cacheDir),以满足上传功能的路径要求;最后利用`request.uploadFile`方法将图片上传至服务器,并处理响应结果。代码详细展示了每个步骤的实现逻辑,包括图片选择、文件操作和网络请求,适用于需要实现图片上传功能的开发者。
|
24天前
|
缓存 容器
鸿蒙5开发宝藏案例分享---一多开发实例(图片美化)
鸿蒙开发宝藏案例分享:用一套代码搞定手机、折叠屏、平板和PC的图片美化应用!案例解析四大核心技术点:相册页动态列数、大图预览双指缩放、编辑页布局自动翻转及分层架构设计。更有开发避坑指南与实战心得,助你高效完成多端适配,提升开发效率!
|
1月前
|
IDE 文件存储 开发工具
鸿蒙开发:应用上架第一篇,生成密钥和证书请求文件
本系列文章,我们就着重概述一下,在鸿蒙当中,如何打出一个上架包,一个上架包的产出,需要多个步骤,本篇文章,我们先从第一步骤进行讲解,也就是如何生成秘钥和证书请求文件。
51 13
鸿蒙开发:应用上架第一篇,生成密钥和证书请求文件
|
1月前
|
存储 安全 Android开发
HarmonyOS实战:一招搞定保存图片到相册
本文介绍了在鸿蒙系统中实现保存图片到相册的功能,包括申请权限和使用系统安全控件两种方式。文中详细讲解了如何通过网络请求下载图片并保存为本地文件,以及如何将指定布局生成图片并保存。鸿蒙系统对权限管理较为严格,推荐使用系统提供的安全控件(如 SaveButton)以保护用户隐私,避免手动申请权限。此外,文章还对比了鸿蒙与 Android/iOS 的实现差异,指出鸿蒙在功能实现上更简单,但需注意权限规范以确保项目顺利上线。
164 0
HarmonyOS实战:一招搞定保存图片到相册
|
6月前
|
人工智能 文字识别 算法
|
6月前
|
安全 Java 开发者
|
6月前
|
API 开发者 UED
自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
通过学习API 13,我深入研究了**PreviewKit(文件预览服务)**。该模块支持快速预览多种文件类型(文本、图片、视频、音频、PDF等),为文件管理类应用提供系统级支持。本文分享了从搭建开发环境到实现单文件和多文件预览的全过程,并介绍了如何构建一个实用的文件预览助手应用。通过实践,不仅掌握了技术细节,还提升了个人开发能力。希望这些经验能为其他开发者带来启发与帮助。
145 10
自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
|
6月前
|
开发者
【HarmonyOS Next开发】用户文件访问
文件所有者为登录到该终端设备的用户,包括用户私有的图片、视频、音频、文档等。 应用对用户文件的创建、访问、删除等行为,需要提前获取用户授权,或由用户操作完成。
135 10
【HarmonyOS Next开发】用户文件访问
|
6月前
|
安全
【HarmonyOS学习】应用文件访问
访问和管理应用文件,对于每个应用,系统会在内部存储空间映射出一个专属的应用沙箱目录,是应用文件目录与一部分系统文件所在的目录组成的集合。也就是应用可见的目录范围即为“应用沙箱目录”。 优点: * 隔离性:应用沙箱提供了一个完全隔离的环境,使用户可以安全地访问应用文件。 * 安全性:应用沙箱限制了应用可见地数据地最小范围,保护了应用文件地安全。
196 5
【HarmonyOS学习】应用文件访问