我们的网络应用程序正在生成.csv文件,并下载它们,因此我具有此功能,该功能在大多数情况下都可以正常工作
function downloadURI(uri, name) {
var link = document.createElement("a");
link.download = name;
link.target = "_blank";
link.href = uri
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
当尝试下载非常大的文件时,Chrome似乎使它们窒息。它只是不表示任何保存操作。尝试下载文件失败后,我可以照常使用该网站。终止Chrome时,它将通知我仍然有正在进行的下载过程。
我认为问题出在向link.href
添加兆字节的内容,但这并不是更多的假设。
如何在客户端使用JavaScript下载大型生成的文件。请注意,由于目标浏览器将无法安装任何第三方软件,因此不能选择使用Flash或Silverlight。