Change download to happen in the renderer (#365)
This commit is contained in:
parent
4eb50d757d
commit
672d07e1e2
|
@ -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();
|
||||
|
|
|
@ -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> {
|
||||
|
|
Loading…
Reference in New Issue