flask下载找不到文件

问题遇到的现象和发生背景

在flask框架下设置了下载链接,希望点击后下载excel表格

遇到的现象和发生背景,请写出第一个错误信息

点击下载后提示没有文件

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

能下载的写法

<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>


运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

点击下载
这个不能下载后我尝试用上面的写法能成功下载,但是不知道原因,文件路径我都是改过的

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

想问问是否是flask自带有什么机制,导致只能在static下的文件才能被链接访问

当你使用第二种写法时,会提示 "没有文件" 的错误,这是因为你在链接中使用了 "excel/11.xlsx",而不是绝对路径。

在 Flask 中,静态文件(例如 excel 表格)通常存储在 "static" 目录下。如果你想要通过链接下载这些文件,那么应该使用绝对路径,例如 "static/excel/11.xlsx"。

如果你使用相对路径(例如 "excel/11.xlsx"),那么 Flask 会尝试在你的应用程序根目录下寻找 "excel/11.xlsx" 这个文件,但是找不到,所以就会报错。

因此,要解决这个问题,你需要在链接中使用绝对路径,例如 "static/excel/11.xlsx"。

希望这能帮助您解决问题。