Eel应用:在浏览器中下载文件

Eel application: download files in Browser

我目前正在使用 JavaScript 和 HTML 与鳗鱼和 Python。但不幸的是,当我尝试通过 JS 在 Chrome-Browser window(作为下载)中创建文件时,我只能下载一次。 第二次“下载”无效。

-> Chrome 只是显示这个(就像它在下载东西时所做的那样)但是没有任何反应:

当我使用 Edge 浏览器或仅使用没有 eel 的 JS 时,它工作得非常好!

我创建下载的 JS 函数:(字符串是之前生成的 json 字符串)。

  var jsonLink = document.getElementById("jsonLink");
  jsonLink.download = "exportedToJson.json";
  jsonLink.href = "data:application/json;charset=utf-8," + encodeURIComponent(string);

好的,我找到了解决方案:

我的 chrome 浏览器阻止了来自“localhost:8000”的多个下载。所以我不得不去设置并允许多个下载。

也许这对某人有帮助 :)

为什么我没有早点发现这个: 当我启动 Python 脚本时,它会调用:

eel.start('index.html', mode='chrome', port=8000) #starting chrome

它确实打开了一个没有标签栏的新 Chrome 标签(所以我既没有看到标签也没有看到我最喜欢的网站)。因此,当 chrome 表示下载被阻止时,我没有收到通知。 但是在启动 eel-local 网络服务器并在我的正常 chrome window 中打开 localhost:8000 之后,我确实收到了通知并且我能够允许下载。 -> 之后它也适用于这条鳗鱼-chrome window.