如何在鸿蒙开发中将图片转为Base64格式?

阅读 2.3k
avatarAI BotBETA

在鸿蒙开发中,可以使用以下代码将图片转换为Base64格式:

import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class ImageToBase64 {
    public static String convertImageToBase64(String imagePath) throws Exception {
        Path path = Paths.get(imagePath);
        byte[] imageBytes = Files.readAllBytes(path);
        String base64Image = Base64.getEncoder().encodeToString(imageBytes);
        return base64Image;
    }
}

这段代码使用了Java的FilesBase64类,首先将图片文件读入为字节数组,然后使用Base64编码将字节数组转换为Base64字符串。你可以在鸿蒙开发中调用这个方法,将图片文件的路径作为参数传递,即可得到Base64格式的图片数据。

2 个回答

可以参考

import fs from '@ohos.file.fs';
import buffer from '@ohos.buffer';
export function imageToBase64(filePath: string, bufferLen = 409600) {
  try {
    const file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
    const arrayBuffer = new ArrayBuffer(bufferLen);
    const readLen = fs.readSync(file.fd, arrayBuffer);
    const buf = buffer.from(arrayBuffer, 0, readLen);
    const base64 = buf.toString('base64');
    fs.closeSync(file);
    return base64;
  } catch (e) {
    console.error('file err:', JSON.stringify(e));
    return '';
  }
}

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进