generated from alphane/template
Initial commit
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Converts a base64 data URL to a Buffer
|
||||
* @param dataUrl - Base64 data URL string (e.g., "data:image/png;base64,iVBORw0KGgo...")
|
||||
* @returns Buffer containing the binary data, or null if input is null/undefined
|
||||
*/
|
||||
export function base64ToBuffer(dataUrl: string | null | undefined): Buffer | null {
|
||||
if (!dataUrl) {
|
||||
return null
|
||||
}
|
||||
|
||||
// Extract the base64 data from the data URL
|
||||
// Format: data:image/png;base64,<base64-encoded-data>
|
||||
const base64Match = dataUrl.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/)
|
||||
|
||||
if (!base64Match) {
|
||||
// If it's not a data URL, assume it's already base64 encoded
|
||||
return Buffer.from(dataUrl, "base64")
|
||||
}
|
||||
|
||||
const base64Data = base64Match[2]
|
||||
return Buffer.from(base64Data, "base64")
|
||||
}
|
||||
|
||||
export default base64ToBuffer
|
||||
Reference in New Issue
Block a user