【发布时间】:2020-10-09 01:11:54
【问题描述】:
我有一个网站,其中包含以下 HTML 链接:
<a href="/api/admin_csv_dl" download="adminCSV.csv">Download CSV</a>
这可行,但我使用的 API 需要一段时间才能生成 .csv 文件,因此在单击按钮和开始下载之间存在延迟。我想禁用链接,直到下载完成,或者至少直到它开始(因为下载本身相对没有时间)然后重新启用它,但我不知道如何“公开”那个使用 HTML5 下载属性时的信息。
如果我使用 ajax 之类的东西来点击 API,我会在单击链接后立即禁用它,并在我获得成功响应后重新启用它,但是 HTML5 下载属性对于我的用例来说非常漂亮,除了我不知道如何更仔细地检查这个过程。
【问题讨论】:
-
这个文件有多大?您始终可以通过 Fetch API 下载它,然后链接到它的 Blob 副本。但是,当您执行此操作时,整个文件都适合内存。