All files / utils downloadBlob.ts

0% Statements 0/8
100% Branches 0/0
0% Functions 0/1
0% Lines 0/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16                               
// src/utils/downloadBlob.ts
//
// Trigger a browser "save as" for an in-memory blob. Used by the document
// download flows where the file is fetched as a blob (the backend forces
// Content-Disposition: attachment) and then handed to the browser.
export function downloadBlob(blob: Blob, filename: string): void {
	const objectUrl = URL.createObjectURL(blob);
	const anchor = document.createElement('a');
	anchor.href = objectUrl;
	anchor.download = filename;
	document.body.appendChild(anchor);
	anchor.click();
	document.body.removeChild(anchor);
	URL.revokeObjectURL(objectUrl);
}