鸿蒙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;
  }
目录
相关文章
|
2月前
|
程序员 开发者
纯血鸿蒙来画龙!基于HarmonyOS ArkTS来操作SVG图片
大家好,龙年报喜,大地回春,作为程序员,以代码之名,表达对于龙年的祝福。本节将演示如何在基于HarmonyOS ArkTS的Image组件来实现画一条中国龙,祝大家“码”上“鸿”福到!
84 0
|
Ubuntu 网络协议 Linux
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(四)传输文件
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(四)传输文件
765 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(四)传输文件
|
Ubuntu Linux 开发工具
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十二)文件IO
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十二)文件IO
135 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十二)文件IO
|
Java 开发工具
(0.2)HarmonyOS鸿蒙开发工具DevEco Studio工程文件目录结构
(0.2)HarmonyOS鸿蒙开发工具DevEco Studio工程文件目录结构
413 0
(0.2)HarmonyOS鸿蒙开发工具DevEco Studio工程文件目录结构
|
开发工具
【鸿蒙征程】一.环境配置✨超多图片很详细✨
文章目录 前言 1.下载安装 2.创建工程 3.运行Hello,world程序
【鸿蒙征程】一.环境配置✨超多图片很详细✨
|
API 数据库 开发者
用HarmonyOS ArkUI调用三方库PhotoView实现图片的联播、缩放
本文演示如果用HarmonyOS的ArkUI来调用已经上架到三方库中心的社区库。体验HarmonyOS 3最新的API 9,欢迎大家一起参与构建这个万物互联的时代
177 0
|
程序员
鸿蒙都发布了,不要再浑浑噩噩,赶紧来学习计算机底层编码原理(下)
哈喽,大家好,我是指北君。 曾几何时,指北君北原码反码补码绕的有点晕,网上教程也很多,详细的太难理解,容易理解的又有问题。于是乎指北君花了很长时间,肝出了这篇文章,目的是让一个小白看完都能彻底理解。 我们知道日常生活中使用的数分为整数和实数,整数的小数点固定在数的最右边,可以省略不写,而实数的小数点则不固定。在计算机中只能识别和表示“0”和“1”,而无法识别小数点,因此要想使得计算机能够处理日常使用的数据,小数点的问题是不可避免的。 关于计算机系统中实数的表示,在下篇文章中会讲解。本篇博客我们讲解的是整数在计算机系统中如何表示。
鸿蒙都发布了,不要再浑浑噩噩,赶紧来学习计算机底层编码原理(下)
鸿蒙都发布了,不要再浑浑噩噩,赶紧来学习计算机底层编码原理(上)
哈喽,大家好,我是指北君。 曾几何时,指北君北原码反码补码绕的有点晕,网上教程也很多,详细的太难理解,容易理解的又有问题。于是乎指北君花了很长时间,肝出了这篇文章,目的是让一个小白看完都能彻底理解。 我们知道日常生活中使用的数分为整数和实数,整数的小数点固定在数的最右边,可以省略不写,而实数的小数点则不固定。在计算机中只能识别和表示“0”和“1”,而无法识别小数点,因此要想使得计算机能够处理日常使用的数据,小数点的问题是不可避免的。 关于计算机系统中实数的表示,在下篇文章中会讲解。本篇博客我们讲解的是整数在计算机系统中如何表示。
鸿蒙都发布了,不要再浑浑噩噩,赶紧来学习计算机底层编码原理(上)
|
XML 数据格式
【鸿蒙 HarmonyOS】Ability 中使用 XML 布局文件 绘制布局及 UI 组件(二)
【鸿蒙 HarmonyOS】Ability 中使用 XML 布局文件 绘制布局及 UI 组件(二)
247 0
【鸿蒙 HarmonyOS】Ability 中使用 XML 布局文件 绘制布局及 UI 组件(二)
|
XML Java 数据格式
【鸿蒙 HarmonyOS】Ability 中使用 XML 布局文件 绘制布局及 UI 组件(一)
【鸿蒙 HarmonyOS】Ability 中使用 XML 布局文件 绘制布局及 UI 组件(一)
223 0
【鸿蒙 HarmonyOS】Ability 中使用 XML 布局文件 绘制布局及 UI 组件(一)

热门文章

最新文章