如何解决如何从 Dash 下载 PDF 文件
我希望用户能够下载 PDF 文件。但是当我点击链接时,它下载了一个空文件,当打开文件时它显示一条错误消息(无法加载文档)。
该文件已保存在assets文件夹中。
这是我正在使用的代码的一部分:
html.Div(html.A('Download file',download='metodologia.pdf',href='./assets/metodologia.pdf')
解决方法
我建议使用 Download
中的 dash-extensions==0.0.41
组件。这是来自 the docs,
import dash
import dash_html_components as html
from dash.dependencies import Output,Input
from dash_extensions import Download
from dash_extensions.snippets import send_file
app = dash.Dash(prevent_initial_callbacks=True)
app.layout = html.Div([html.Button("Download",id="btn"),Download(id="download")])
@app.callback(Output("download","data"),[Input("btn","n_clicks")])
def func(n_clicks):
return send_file("/home/emher/Documents/Untitled.png")
if __name__ == '__main__':
app.run_server()
与您当前的解决方案相比,这种方法有几个优点。由于在幕后使用 blob,因此支持更大的文件。此外,您不仅限于从 assets
文件夹下载文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。