Files
privacy.sexy/src/infrastructure/SaveFileDialog.ts
2020-01-01 12:31:41 +01:00

17 lines
557 B
TypeScript

import fileSaver from 'file-saver';
export class SaveFileDialog {
public static saveText(text: string, fileName: string): void {
this.saveBlob(text, 'text/plain;charset=utf-8', fileName);
}
private static saveBlob(file: BlobPart, fileType: string, fileName: string): void {
try {
const blob = new Blob([file], { type: fileType });
fileSaver.saveAs(blob, fileName);
} catch (e) {
window.open(`data:${fileType},${encodeURIComponent(file.toString())}`, '_blank', '');
}
}
}