HarmonyOS 如何将文件流转为base64?

如题:HarmonyOS 如何将文件流转为base64?

阅读 504
1 个回答

可以参考如下demo:

let resourceManager = getContext(this).resourceManager
let imageArray = await resourceManager.getMediaContent($r('app.media.beer'));
let pixelBuffer = new Uint8Array(imageArray).buffer as Object as ArrayBuffer
let imageResource = image.createImageSource(pixelBuffer);
let opts: image.DecodingOptions = { editable: true }
let pixelMap = await imageResource.createPixelMap(opts);

// 转换成base64
const imagePackerApi: image.ImagePacker = image.createImagePacker();
let packOpts: image.PackingOption = { format: 'image/jpeg', quality: 100 };
imagePackerApi.packing(pixelMap, packOpts).then((data: ArrayBuffer) => {
  let buf: buffer.Buffer = buffer.from(data);
  this.base64 = 'data:image/jpeg;base64,' + buf.toString('base64', 0, buf.length);
  console.info('base64: ' + this.base64);
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进