【问题标题】:How to download huge CSV file in javascript如何在 javascript 中下载巨大的 CSV 文件
【发布时间】:2015-05-31 22:46:15
【问题描述】:

我有一个从服务器请求数据的 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 文件。

【问题讨论】:

  • 您不会在浏览器中显示或下载 1Gb 的数据。基本解决方案是实现分页和相应的 API 以仅获取您需要的部分。
  • 为什么不呢?我想将服务器中的数据以 CSV 格式保存在客户端机器中。

标签: javascript jquery html csv


【解决方案1】:

将数据转换为字符串并触发点击事件的方法是完全错误的。真正需要的是流式传输文件。下面的链接解释了如何从 HttpServlet 的响应对象流式传输文件。

Streaming large files in a java servlet

【讨论】:

    猜你喜欢
    • 2013-04-30
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    相关资源
    最近更新 更多