HarmonyOS 鸿蒙Next 文件转换base64
HarmonyOS 鸿蒙Next 文件转换base64
文件转换base64
使用场景:语音,视频,图片,文件
代码API:9
代码模型:stage
代码介绍:示范在stage模型下读取文件并转换成base64
导入库
import fs from '@ohos.file.fs';
import util from '@ohos.util';
import common from '@ohos.app.ability.common';
执行代码:
let context = getContext(this) as common.UIAbilityContext;
let cacheDir = context.cacheDir;
let filePath = cacheDir + '/01.mp3';
console.info('filePath:' + filePath) // 打印地址
console.info(`第一次:${startTime - new Date().getTime()}`)
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE); // 打开文件
let stat = fs.statSync(filePath); // 获取文件状态
console.info("stat.size:" + stat.size) // 打印文件的长度
let buf = new ArrayBuffer(stat.size); // 创建一个ArrayBuffer对象
let base64 = new util.Base64Helper(); // 实例化Base64Helper
let num = fs.readSync(file.fd, buf); // 读取文件
let data = base64.encodeSync(new Uint8Array(buf.slice(0, num))) // 转换成Uint8Array
console.info(`data长度:${data.length}`)
console.info(`data:${data}`)
let textDecoder = util.TextDecoder.create('utf-8', { ignoreBOM : true })
let retStr = textDecoder.decodeWithStream(data , {stream: false}); // 可以把Uint8Array转码成base64
console.info(retStr) // 打印结果
更多关于HarmonyOS 鸿蒙Next 文件转换base64的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于HarmonyOS 鸿蒙Next 文件转换base64的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS中,将文件转换为Base64编码可以通过使用ohos.utils
库中的Base64
类来实现。首先,你需要读取文件内容,然后使用Base64
类的encodeToString
方法将文件内容转换为Base64编码的字符串。
具体步骤如下:
- 使用
ohos.file.fs
模块中的File
类来读取文件内容。 - 将读取到的文件内容通过
Base64.encodeToString
方法转换为Base64编码的字符串。
以下是示例代码:
import fs from '@ohos.file.fs';
import base64 from '@ohos.utils';
// 文件路径
let filePath = 'your_file_path';
// 读取文件内容
let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
let fileContent = fs.readSync(file.fd, new ArrayBuffer(1024));
// 将文件内容转换为Base64编码
let base64String = base64.encodeToString(fileContent, base64.NO_WRAP);
// 关闭文件
fs.closeSync(file.fd);
// 输出Base64编码的字符串
console.log(base64String);
在这个示例中,fs.openSync
用于打开文件,fs.readSync
用于读取文件内容,base64.encodeToString
用于将文件内容转换为Base64编码的字符串。最后,使用fs.closeSync
关闭文件。
需要注意的是,Base64.encodeToString
方法的第二个参数可以指定编码选项,例如base64.NO_WRAP
表示不进行换行处理。