downloadHeaders.js 410 B

12345678
  1. export function contentDispositionAttachment(filename) {
  2. const safeFilename = String(filename || 'download')
  3. .replace(/[\\/:*?"<>|\x00-\x1f]/g, '_')
  4. .replace(/^\.+$/, 'download')
  5. .trim() || 'download';
  6. const asciiFilename = safeFilename.replace(/[^\x20-\x7e]/g, '_');
  7. return `attachment; filename="${asciiFilename}"; filename*=UTF-8''${encodeURIComponent(safeFilename)}`;
  8. }