在flask框架下设置了下载链接,希望点击后下载excel表格
点击下载后提示没有文件
能下载的写法
<div class="row">
<div class="col-md-4">
{{ wtf.quick_form(salary_upload_excel_form) }}
<a href="static/excel_template/11.xlsx" download="用户表.xlsx">点击下载a>
div>
div>
提示没有文件无法下载的写法
<div class="row">
<div class="col-md-4">
{{ wtf.quick_form(salary_upload_excel_form) }}
<a href="excel/11.xlsx" download="用户表.xlsx">点击下载a>
div>
div>
点击下载
这个不能下载后我尝试用上面的写法能成功下载,但是不知道原因,文件路径我都是改过的
想问问是否是flask自带有什么机制,导致只能在static下的文件才能被链接访问
当你使用第二种写法时,会提示 "没有文件" 的错误,这是因为你在链接中使用了 "excel/11.xlsx",而不是绝对路径。
在 Flask 中,静态文件(例如 excel 表格)通常存储在 "static" 目录下。如果你想要通过链接下载这些文件,那么应该使用绝对路径,例如 "static/excel/11.xlsx"。
如果你使用相对路径(例如 "excel/11.xlsx"),那么 Flask 会尝试在你的应用程序根目录下寻找 "excel/11.xlsx" 这个文件,但是找不到,所以就会报错。
因此,要解决这个问题,你需要在链接中使用绝对路径,例如 "static/excel/11.xlsx"。
希望这能帮助您解决问题。