赞
踩
初始化方式有两种,1.父组件直接在外层定义@builder函数 2.尾随闭包形式,只支持一个BuilderParam的场景。
问题:两种初始化方式不同,在父组件内效果也不同,方式一 组件支持通用属性和方法 方式二不支持
在js中将base64使用fs写到本地
const fs = require('fs');
const path = require('path');
// 假设canvas是您的Canvas对象
const canvas = document.getElementById('myCanvas');
// 将canvas转换为DataURL
const dataURL = canvas.toDataURL();
// 将DataURL转换为ArrayBuffer
const base64Data = dataURL.split(',')[1];
const binaryString = atob(base64Data);
const bytes = new Uint8Array(binaryString.length);
for (let i = 0; i < binaryString.length; i++) {
bytes[i] = binaryString.charCodeAt(i);
}
// 将ArrayBuffer写入本地文件
const filePath = path.join(__dirname, 'output.png'); // 指定输出文件的路径和名称
fs.writeFile(filePath, Buffer.from(bytes), (err) => {
if (err) {
console.error('写入文件时发生错误:', err);
} else {
console.log('文件已成功写入:', filePath);
}
});
上面例子中使用到了atob()函数,但是此方法在ArkTS中不支持,实现方式如下
import buffer from '@ohos.buffer';
const base64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAjCAIAAABzZz93AAA"
let bufferdata = buffer.from(base64.spit(',')[1], 'base64');
const file = fs.open(savepath,fs.OpenMode.REAN_WRITE | fs.OpenMode.CREATE)
fs.write(file.fd,bufferdata.buffer)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。