@speckle/shared
Version:
Shared code between various Speckle JS packages
21 lines • 681 B
JavaScript
export const isValidBase64Image = (data) => {
if (!data.startsWith('data:image/'))
return false;
const parts = data.split(',');
if (parts.length !== 2)
return false;
// Remove all whitespace characters from base64 string
const base64String = parts[1].replace(/\s+/g, '');
// Validate that the cleaned string only has valid base64 characters
const base64Regex = /^[A-Za-z0-9+/]+={0,2}$/;
if (!base64Regex.test(base64String))
return false;
try {
const buffer = Buffer.from(base64String, 'base64');
return buffer.length > 0;
}
catch {
return false;
}
};
//# sourceMappingURL=base64.js.map