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转换成图片
7823浏览 • 2回复 待解决
怎么把PixelMap图片BASE64
7280浏览 • 1回复 待解决
js canvas转base64编码图片不全
8474浏览 • 1回复 待解决
PixelMap怎么转Base64?(非Java)
491浏览 • 2回复 待解决
如何实现字符串编解码
226浏览 • 1回复 待解决
如何生成UUID的字符串
237浏览 • 1回复 待解决
ArkTS如何实现字符串编解码
381浏览 • 1回复 待解决
如何实现ArkUI组件字符串变量拼接
335浏览 • 1回复 待解决
Web如何使用loadData加载复杂Html字符串
312浏览 • 1回复 待解决
如何加载字符串形式H5数据
223浏览 • 1回复 待解决
sql 怎么对带单位字符串排序?
677浏览 • 1回复 待解决
如何字符串进行MD5哈希处理
288浏览 • 1回复 待解决
关于字符串的分割和重组处理
1931浏览 • 1回复 待解决
eTS中如何进行时间与字符串转换?
1903浏览 • 1回复 待解决
mysql order对数字型字符串排序
597浏览 • 1回复 待解决
字符串型IP地址从小到大排序
1805浏览 • 2回复 待解决