我已经使用ElectronJS
设计了应用程序,并且已经使用downloads
转换为了桌面应用程序。将JSON对象下载为文件不会自动下载到我的Popup window
文件夹中,而是要求<a id="downloadAnchorElem" style="display:none"></a>
选择保存文件的路径。
我使用过的以下代码:
HTML:var dataStr = "data:text/json;charset=utf-8," +
encodeURIComponent(JSON.stringify(storageObj));
var dlAnchorElem = document.getElementById('downloadAnchorElem');
dlAnchorElem.setAttribute("href", dataStr );
dlAnchorElem.setAttribute("download", "scene.json");
dlAnchorElem.click();
ElectronJS
如果我将此代码作为正常的Web应用程序运行,它将自动下载,而如果我使用ReflectionMethod
不自动下载在桌面应用程序上运行该代码。请告诉我为什么会这样,并且可以选择其他解决方案。
答案 0 :(得分:0)
electron-dl 是您的朋友!正如其描述在github中一样,它确实简化了Electron应用程序的文件下载。
这是一个如何启动下载的示例。
const {app, BrowserWindow, ipcMain} = require('electron');
const {download} = require('electron-dl');
ipcMain.on('download-btn', (e, args) => {
download(BrowserWindow.getFocusedWindow(), args.url)
.then(dl => console.log(dl.getSavePath()))
.catch(console.error);
});
希望这会有所帮助!