如何在不写入服务器的情况下从 jupyter webapp 启用数据下载?

问题描述

我正在使用 jupyter-lab、ipywidgets 和 voila 编写一个网络应用程序。

在这个网络应用程序中,在接受用户的指令后,笔记本会生成一些用户需要下载的数据(字典)(作为 .json 文件)。 我在网上找到的简单解决方案是在服务器上写一个包含内容文件,并为用户提供一个链接。但是,我认为如果许多用户同时运行 Web 应用程序,这非常难看,而且非常低效或危险。 我想知道是否有一种方法可以为用户创建下载选项而无需在服务器端编写任何内容。 有人知道吗?

提前致谢, 洛伦佐

解决方法

只需将您的文件转换为使用 pybase64 (file=base64.b64encode...) 然后使用 ipywidgets

 HTML("<a download='name.txt' href='data:text/ascii;base64,%s'> download/>" %(file,)}