UNPKG

javascript-binary-converter

Version:

A utility package to quickly handle and convert various Javascript binary objects

31 lines 1.17 kB
import { isNode } from "./crossPlatform"; export function blobToBase64(blob, config = { appendDataUrl: false }) { if (isNode) { return blobToBase64_Node(blob); } return new Promise((resolve) => { const reader = new FileReader(); reader.readAsDataURL(blob); reader.onloadend = () => { const dataUrl = reader.result; resolve(config?.appendDataUrl ? dataUrl : dataUrl.split(',')[1]); }; }); } async function blobToBase64_Node(blob) { const arrayBuffer = await blob.arrayBuffer(); const uint8 = new Uint8Array(arrayBuffer); return Buffer.from(uint8).toString('base64'); //TODO: this might be problematic. Explore a different solution. } export async function blobToCanvas(blob) { var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); var img = new Image(); img.src = URL.createObjectURL(blob); await new Promise((res) => img.onload = res); canvas.height = img.height; canvas.width = img.width; ctx.drawImage(img, 0, 0, img.width, img.height); return canvas; } //# sourceMappingURL=blob.js.map