| | |
| | | } |
| | | return new Blob([u8arr], { type: mime }); |
| | | } |
| | | |
| | | /** |
| | | * img url to base64 |
| | | * @param url |
| | | */ |
| | | export function urlToBase64(url: string, mineType?: string): Promise<string> { |
| | | return new Promise((resolve, reject) => { |
| | | let canvas = document.createElement('CANVAS') as Nullable<HTMLCanvasElement>; |
| | | const ctx = canvas!.getContext('2d'); |
| | | |
| | | const img = new Image(); |
| | | img.crossOrigin = ''; |
| | | img.onload = function () { |
| | | if (!canvas || !ctx) { |
| | | return reject(); |
| | | } |
| | | canvas.height = img.height; |
| | | canvas.width = img.width; |
| | | ctx.drawImage(img, 0, 0); |
| | | const dataURL = canvas.toDataURL(mineType || 'image/png'); |
| | | canvas = null; |
| | | resolve(dataURL); |
| | | }; |
| | | img.src = url; |
| | | }); |
| | | } |