我有一个从服务器请求数据的javascript文件。数据必须以CSV格式显示。数据大小可以达到很大的极限。 以下是我在javascript中用来下载文件的代码。
var tmp = document.createElement('a');
var csvData = new Blob([dataString], { type: 'text/csv' });
var csvUrl = URL.createObjectURL(csvData);
tmp.href = csvUrl;
tmp.setAttribute('download', "abc.csv");
tmp.click();
如果文件大小达到50MB,则会导致Chrome崩溃。 chrome会出现“aw snap”错误。但我应该能够下载超过1GB的数据。如何在不崩溃Chrome浏览器的情况下下载如此庞大的CSV文件。
答案 0 :(得分:2)
将数据转换为字符串并触发点击事件的方法是完全错误的。真正需要的是流式传输文件。以下链接解释了如何从HttpServlet的响应对象流式传输文件。