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
相关问题
base64字符保存图片的方法
230浏览 • 1回复 待解决
如何将PixelMap转图片base64字符
163浏览 • 1回复 待解决
如何图片base64字符转PixelMap?
223浏览 • 1回复 待解决
PixelMap类型怎么转换成Base64字符
118浏览 • 1回复 待解决
字符串如何转为ArrayBuffer?
168浏览 • 1回复 待解决
HarmonyOS如何图片Base64
334浏览 • 1回复 待解决
如何base64转换成图片
9781浏览 • 2回复 待解决
HarmonyOS 图片进行base64编码报错
188浏览 • 1回复 待解决
怎么把PixelMap图片BASE64
9002浏览 • 1回复 待解决
如何将对象转为JSON字符串
168浏览 • 1回复 待解决
如何将JSON字符串转为Map
101浏览 • 1回复 待解决
js canvas转base64编码图片不全
10308浏览 • 1回复 待解决
如何字符串转为Uint8Array?
228浏览 • 1回复 待解决