href下载xlsx文件偶尔会被破坏

时间:2018-02-16 01:23:52

标签: javascript html angular typescript xlsx

我正在使用Typescript处理Angular4。

我能够使用XLSX-populate库创建一个blob。

假设下面的blob是一个有效的xlsx对象

var url = window.URL.createObjectURL(blob);
          var a = document.createElement("a");
          document.body.appendChild(a);
          a.href = url;
          a.download = "download file.xlsx";
          a.click();

我在执行期间保存了blob变量。 然后手动运行此块仅约20次。 (blob没有重新制作或覆盖)

结果不一致。

下载的XLSX文件有时会损坏,有时则不会。

我研究了javascript的异步性质,但是因为blob已经创建并且一些尝试能够生成正常运行的xlsx文件。我完全不知道接下来要做什么。

更新: 还是没有解决。但我在SAME href 4x上背靠背触发了click事件,中间没有其他线路,我有2个工作版本和2个失败版本。

1 个答案:

答案 0 :(得分:0)

这可能不完全是一个答案。但我发现只需等待几秒钟,xlsx文件就可以了。如果我重试,即使是最初打开时首次失败的文件也可以打开。

这让我相信它与chrome检测文件准备就绪的方式有关。

然而,href下载最终不是问题。