export const useBlobUrlFromB64 = (dataurl: string): string => { // data:image/jpeg;base64,/9j/... const arr = dataurl.split(',') if (arr.length < 2) { throw new Error('dataurl is not a valid base64 image') } const mimeMatches = arr[0].match(/:(.*?);/) if (mimeMatches === null) { throw new Error('dataurl is not a valid base64 image') } const mime = mimeMatches[1] //image/png const b64data = atob(arr[1]) let length = b64data.length const u8arr = new Uint8Array(length) while (length--) { u8arr[length] = b64data.charCodeAt(length) } const blob = new Blob([u8arr], {type: mime}) return URL.createObjectURL(blob) }