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

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


HarmonyOS
2024-03-18 22:44:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
xdpan

可以通过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
相关问题
如何base64转换成图片
8362浏览 • 2回复 待解决
怎么把PixelMap图片BASE64
7764浏览 • 1回复 待解决
js canvas转base64编码图片不全
8992浏览 • 1回复 待解决
PixelMap怎么转Base64?(非Java)
1088浏览 • 2回复 待解决
如何实现字符串编解码
777浏览 • 1回复 待解决
如何生成UUID的字符串
709浏览 • 1回复 待解决
如何解析JSON字符串
319浏览 • 1回复 待解决
如何进行base64编码,有人知道吗?
189浏览 • 1回复 待解决
如何实现PixelMap和base64的相互转换
347浏览 • 1回复 待解决
有没有base64转化的相关代码?
248浏览 • 0回复 待解决
如何实现Map转JSON字符串
538浏览 • 1回复 待解决
ArkTS如何实现字符串编解码
999浏览 • 1回复 待解决
验证pixelmap数据buffer转base64是否正常
466浏览 • 1回复 待解决
如何实现ArkUI组件字符串变量拼接
933浏览 • 1回复 待解决
如何压缩字符串,有人知道吗?
409浏览 • 1回复 待解决