(url)
| 36 | } |
| 37 | |
| 38 | export function parseDataUrl(url) { |
| 39 | const clean = url.replace(/\s/g, ''); |
| 40 | const m = clean.match(/^data:(image\/[a-z+]+);base64,(.+)$/i); |
| 41 | if (!m) return null; |
| 42 | if (m[2].length > MAX_BASE64_LEN) throw new Error(`Image data URL exceeds ${MAX_SIZE} byte limit`); |
| 43 | return { base64_data: m[2], mime_type: m[1].toLowerCase() }; |
| 44 | } |
| 45 | |
| 46 | // Extract base64 body from a data URL of any mime type. Used for PDF |
| 47 | // payloads which don't match parseDataUrl's image-only regex. |