Javascript 下载触发器的奇怪问题

Javascript 下载触发器的奇怪问题,javascript,html,flask,download,Javascript,Html,Flask,Download,我有一个flask应用程序,其中我有一个具有多种功能的前端html 这个前端html模板有一个“下载按钮”来下载文件 这就是我触发下载的方式: $('#download_excel').attr('onClick',"window.open('/static/excel.xlsx')"); 下载\u excel对应于下载文件的底部。这个很好用 但是,如果我将我的excel.xlsx文件移动到另一个文件夹,请说“下载”,并将上述行修改为: $('#download_excel

我有一个flask应用程序,其中我有一个具有多种功能的前端html

这个前端html模板有一个“下载按钮”来下载文件

这就是我触发下载的方式:

$('#download_excel').attr('onClick',"window.open('/static/excel.xlsx')");
下载\u excel对应于下载文件的底部。这个很好用

但是,如果我将我的excel.xlsx文件移动到另一个文件夹,请说“下载”,并将上述行修改为:

$('#download_excel').attr('onClick',"window.open('/download/excel.xlsx')");
此处不显示文件:(
http://127.1.1.1:5555/download/excel.xlsx)


为什么??区别是什么?

问题是Flask只提供静态文件夹中的文件。您必须按此处所述指定另一个静态文件夹路径:

这是因为Flask在
/static
处有静态文件(可公开访问的文件)的默认端点。此端点绑定到项目文件夹中的目录
static

您可以在Flask构造函数中重新绑定此端点:

Flask(\uuuuu name\uuuuuu,static\u url\u path=“/download”,static\u folder='download')

不要将事件绑定到
attr
下载文件夹是公用的且可访问吗?看起来你必须让你的服务器允许这个路径。区别在于URL。是否有某种处理程序或目录或。。。?在那个地方寻找资源?