base64字符串如何转为图片并保存

 base64字符串如何转为图片并保存


HarmonyOS
2024-03-18 22:44:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
计算机编程小强

可以通过buffer.from的方法,将base64编码格式的字符串创建为新的Buffer对象,接着用fileIo.writeSync方法将转换好的Buffer对象写入文件。

参考代码如下:

import { buffer } from '@kit.ArkTS'; 
import { fileIo } from '@kit.CoreFileKit'; 
import { common } from '@kit.AbilityKit'; 
import { fileUri } from "@kit.CoreFileKit"; 
import { hilog } from '@kit.PerformanceAnalysisKit'; 
 
let context = getContext(this) as common.UIAbilityContext; 
let filesDir = context.filesDir; 
 
// data为需要转换的base64字符串,返回沙箱路径uri 
export async function writeFile(data: string): Promise<string> { 
  let uri = '' 
  try { 
    let filePath = filesDir + "/1.png"; 
    uri = fileUri.getUriFromPath(filePath); 
    let file = fileIo.openSync(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE); 
    console.info("file fd: " + file.fd); 
    const reg = new RegExp("data:image/\\w+;base64,") 
    const base64 = data.replace(reg, ""); 
    console.log("base64flag", base64) 
    const dataBuffer = buffer.from(base64, 'base64') 
    let writeLen = fileIo.writeSync(file.fd, dataBuffer.buffer); 
    hilog.info(0xA0c0d0,'uri',uri) 
    fileIo.closeSync(file); 
  } 
  catch (Error) { 
    hilog.error(0xA0c0d0,'Error',Error.code) 
  } 
  return uri; 
}
分享
微博
QQ
微信
回复
2024-03-19 22:34:29
相关问题
HarmonyOS 图片转为base64字符
204浏览 • 1回复 待解决
base64字符保存图片的方法
902浏览 • 1回复 待解决
如何将PixelMap转图片base64字符
548浏览 • 1回复 待解决
如何图片base64字符转PixelMap?
631浏览 • 1回复 待解决
PixelMap类型怎么转换成Base64字符
656浏览 • 1回复 待解决
HarmonyOS SM2加签返回Base64字符
67浏览 • 1回复 待解决
字符串如何转为ArrayBuffer?
728浏览 • 1回复 待解决