直接跳到内容

FileDownload 文件下载

文件下载组件允许在前端下载文件,通过在初始化时(如果embed=True)或点击按钮时将文件数据发送到浏览器。

底层实现为panel.widgets.FileDownload,参数基本一致,参考文档:https://panel.holoviz.org/reference/widgets/FileDownload.html

基本用法

基本的文件下载组件使用,默认情况下(auto=Trueembed=False)文件只在按钮被点击后才传输到浏览器:

嵌入文件数据

可以通过embed参数立即嵌入文件数据,这允许在静态导出中使用此组件:

手动保存

如果设置auto=False,文件不会在初次点击时下载,而是会在数据同步后将标签从"Transfer<文件>"更改为"Download<文件>"。这样可以在数据传输后使用"另存为"对话框下载。

使用文件对象

文件下载组件也可以接受文件对象,例如将pandas DataFrame保存为CSVStringIO对象:

动态生成文件

可以提供回调函数动态生成文件,例如根据某些小部件的参数:

按钮样式

可以通过设置button_typebutton_style来改变文件下载按钮的外观:

图标按钮

与其他按钮一样,可以提供显式的icon,可以是tabler-icons.io的命名图标:

也可以是显式的SVG:

API

属性

属性名说明类型默认值
auto是否在第一次点击时下载文件bool True
callback返回文件或类文件对象的可调用对象callable None
embed是否在初始化时嵌入数据bool False
file文件路径或类文件对象str|Path|file-like None
filename保存文件的文件名str None
button_style按钮样式str  'solid'或'outline''solid'
button_type按钮主题str  'default'、'primary'、'success'、'info'、'light'或'danger''default'
icon按钮左侧的图标str  SVG字符串或tabler-icons.io图标名称None
icon_size图标大小str  如"12px"或"1em"None
label下载按钮的自定义标签str None
name组件标题str ""

Slots

插槽名说明
iconsvg 图标

src/examples/panel_vuepy/widgets/FileDownload

FileDownload 文件下载已经加载完毕