【问题标题】:Sending large csv file type file in HTTP response在 HTTP 响应中发送大型 csv 文件类型文件
【发布时间】:2020-04-26 16:46:56
【问题描述】:

我一直在尝试在 HTTP 响应中发送大型 csv 类型文件。我尝试使用以下

p_response.setHeader("Content-Disposition", "attachment; filename=" + URL.encodeURLFragment(x_filename) + ";");
p_response.setHeader("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

这可以轻松导出数据量小的excel文件。但是当我尝试导出更大的 csv 文件时,它没有以 csv(逗号分隔)格式下载文件,而是将整个数据转储到网页中。

在响应标头中(在 chrome 的网络选项卡中),我可以看到它在发送大型 CSV 文件时不显示 Content-Disposition、Content-Type 或 Content-length。它也有 Transfer-Encoding: chunked 在响应标头中(下载数据较少的 csv 文件时不会观察到这种情况)。

有人可以帮忙吗?

【问题讨论】:

    标签: javascript java export-to-csv


    【解决方案1】:

    你可以用blob解决

    csvData = new Blob([csvString], { type: 'text/csv' }); 
    var csvUrl = URL.createObjectURL(csvData);
    a.href =  csvUrl;
    

    参考资料:

    Export HTML table to csv in google chrome browser

    【讨论】:

      猜你喜欢
      • 2020-04-13
      • 1970-01-01
      • 2016-08-01
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多