feat(04-02): add downloadFile and downloadZip utility functions
- 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)
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
// 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);
|
||||
}
|
||||
Reference in New Issue
Block a user