Change download to happen in the renderer (#365)

This commit is contained in:
Oscar Hinton 2021-04-27 16:44:28 +02:00 committed by GitHub
parent 4eb50d757d
commit 672d07e1e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 15 deletions

View File

@ -19,17 +19,6 @@ export class ElectronMainMessagingService implements MessagingService {
return dialog.showMessageBox(options);
});
ipcMain.handle('saveFile', (event, options) => {
dialog.showSaveDialog(windowMain.win, {
defaultPath: options.fileName,
showsTagField: false,
}).then(ret => {
if (ret.filePath != null) {
fs.writeFile(ret.filePath, options.buffer, { mode: 0o600 });
}
});
});
ipcMain.handle('openContextMenu', (event, options: {menu: RendererMenuItem[]}) => {
return new Promise(resolve => {
const menu = new Menu();

View File

@ -97,10 +97,13 @@ export class ElectronPlatformUtilsService implements PlatformUtilsService {
}
saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {
ipcRenderer.invoke('saveFile', {
fileName: fileName,
buffer: Buffer.from(blobData),
});
const blob = new Blob([blobData], blobOptions);
const a = win.document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = fileName;
win.document.body.appendChild(a);
a.click();
win.document.body.removeChild(a);
}
getApplicationVersion(): Promise<string> {