- src/utils/downloadFile.ts: Blob + createObjectURL + anchor click download - src/utils/downloadZip.ts: JSZip archive builder with same Blob download pattern - npm install jszip ^3.10.1 (only new runtime dependency in phase 4)
13 lines
508 B
TypeScript
13 lines
508 B
TypeScript
// src/utils/downloadFile.ts
|
|
// Triggers a browser file download from a string.
|
|
// Pattern: MDN URL.createObjectURL — https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL_static
|
|
export function downloadFile(content: string, filename: string): void {
|
|
const blob = new Blob([content], { type: 'text/plain;charset=utf-8' });
|
|
const url = URL.createObjectURL(blob);
|
|
const a = document.createElement('a');
|
|
a.href = url;
|
|
a.download = filename;
|
|
a.click();
|
|
URL.revokeObjectURL(url);
|
|
}
|