• TableExport导出失败问题


    本周有一个需求,将一个网页上一个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:可通过配置修改

  • 相关阅读:
    C# 提取方法重构
    防抖和节流
    利用Object.keys快速循环对象
    MVVM深入理解---小白速会
    异步组件使用详解
    动态组件使用详解
    Vue.$nextTick详解
    深入理解vue .sync修饰符
    vue计算属性---快速上手
    grid-layout 网格布局--快速上手
  • 原文地址:https://www.cnblogs.com/punkrocker/p/10393254.html
Copyright © 2020-2023  润新知