本周有一个需求,将一个网页上一个js导出成csv文件,供数据分析使用

找到一个插件,TableExport,可以很方便的将table导出(默认设置的话,仅需一行代码)

但是,这导出文件较大(6.2M)时,却发生了奇怪的错误(仅提示网络错误)

此问题出现于Chrome中,但是用Safari却可以正常下载

经查,TableExport是将CSV文件,放到get请求中

如果CSV文件内容过多,则get请求长度过长,无法正确处理

解决方法:使用Java处理数据,生成CSV文件,提供链接下载即可

 

问题解决了,再看一看问题的原因

从浏览器的下载地址即可看出,TableExport插件是直接将CSV文件作为get请求发送从而下载

get请求的长度在http协议规范中没有规定,规定是服务器(如IIS、Tomcat等)和浏览器(如Safari、Chrome等)自行处理的

常用浏览器长度限制:

IE:2083

Firefox:65536(但实际不少于100000)  --括号内不确定,仅为网络查询资料,实际这个6.2M的文件Firefox也无法正常下载,可能与版本有关

Chrome:8182

Safari:80000

Opera:190000

常用服务器长度限制:

Apache:8192

IIS:16384(IIS7中可以修改)

Nginx:可通过配置修改

相关文章:

  • 2021-09-24
  • 2022-01-04
  • 2021-08-17
  • 2022-01-15
  • 2021-11-10
  • 2021-12-11
  • 2022-12-23
  • 2021-06-11
猜你喜欢
  • 2021-06-26
  • 2021-05-31
  • 2021-08-16
  • 2021-05-12
  • 2022-12-23
  • 2021-09-25
  • 2022-12-23
相关资源
相似解决方案