禁用下载链接(使用HTML5下载属性),直到下载完成

禁用下载链接(使用HTML5下载属性),直到下载完成,html,download,Html,Download,我有一个网站,其中包含以下HTML链接: <a href="/api/admin_csv_dl" download="adminCSV.csv">Download CSV</a> 这是可行的,但是我使用的API需要一段时间来生成.csv文件,所以在单击按钮和开始下载之间有一个延迟。我想禁用链接,直到下载完成,或者至少直到下载开始(因为下载本身不需要花费任何时间),然后重新启用它,但我不知道如何在使用HTML5下载属性时“公开”

我有一个网站,其中包含以下HTML链接:

<a href="/api/admin_csv_dl" download="adminCSV.csv">Download CSV</a>

这是可行的,但是我使用的API需要一段时间来生成.csv文件,所以在单击按钮和开始下载之间有一个延迟。我想禁用链接,直到下载完成,或者至少直到下载开始(因为下载本身不需要花费任何时间),然后重新启用它,但我不知道如何在使用HTML5下载属性时“公开”该信息


如果我使用ajax之类的工具来访问API,我会在单击链接后立即禁用它,并在获得成功响应后重新启用它,但HTML5下载属性对于我的用例来说非常好,只是我不知道如何更仔细地检查该过程。

只是一个想法,您可以保留这个文件有多大?您可以通过fetchapi下载它,然后链接到它的Blob副本。但是,执行此操作时,整个文件都会放入内存中。