export function imageContentDisposition(displayName: string, fallbackName: string): string { const safeDisplayName = displayName.trim() || fallbackName; const fallback = safeDisplayName .normalize("NFKD") .replace(/[^a-z0-9]+/giu, "-") .replace(/^-|-$/gu, "") || fallbackName; const encoded = encodeURIComponent(`${safeDisplayName}.png`).replace( /['()*]/gu, (character) => `%${character.charCodeAt(0).toString(16).toUpperCase()}`, ); return `attachment; filename="${fallback}.png"; filename*=UTF-8''${encoded}`; }