#header-mark#
FileDownload 文件下载
文件下载组件允许在前端下载文件,通过在初始化时(如果embed=True
)或点击按钮时将文件数据发送到浏览器。
底层实现为panel.widgets.FileDownload
,参数基本一致,参考文档:https://panel.holoviz.org/reference/widgets/FileDownload.html
基本用法
基本的文件下载组件使用,默认情况下(auto=True
和embed=False
)文件只在按钮被点击后才传输到浏览器:
嵌入文件数据
可以通过embed
参数立即嵌入文件数据,这允许在静态导出中使用此组件:
手动保存
如果设置auto=False
,文件不会在初次点击时下载,而是会在数据同步后将标签从"Transfer<文件>"更改为"Download<文件>"。这样可以在数据传输后使用"另存为"对话框下载。
使用文件对象
文件下载组件也可以接受文件对象,例如将pandas DataFrame
保存为CSV
到StringIO
对象:
动态生成文件
可以提供回调函数动态生成文件,例如根据某些小部件的参数:
按钮样式
可以通过设置button_type
和button_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
插槽名 | 说明 |
---|---|
icon | svg 图标 |
src/examples/panel_vuepy/widgets/FileDownload