tableExport.js大文件导出,失败-网络错误
原因
tableExport.js采用url的方式下载
常用浏览器长度限制:
IE:2083
Firefox:65536(但实际不少于100000) --括号内不确定,仅为网络查询资料,实际这个6.2M的文件Firefox也无法正常下载,可能与版本有关
Chrome:8182
Safari:80000
Opera:190000
解决方案
修改源代码找到downloadFile方法
function downloadFile (filename, header, data){...}
一般在 tableExport.js 的最后,大概 2000 行左右,版本不同写法不同
本文的场景是导出excel文件,1400行记录左右无法导出
修改代码如下
根据不同的业务场景自己调试,本文定位下载的执行代码为这段代码
原代码downloadFile方法2050行
else if ( header.toLowerCase().indexOf("base64,") >= 0 )
DownloadLink.href = header + base64encode(data);
修改之后
else if ( header.toLowerCase().indexOf("base64,") >= 0 ){
// DownloadLink.href = header + base64encode(data);
window.URL = window.URL || window.webkitURL;
var binaryData = [];
binaryData.push(data);
var blobUrl = window.URL.createObjectURL(new Blob(binaryData, {type: header}));
DownloadLink.href = blobUrl;
}
原因就是base64encode(data)转码之后过长,url下载的长度限制,无法下载。
采用Blob类型存储就可以了。
最后
以上就是细腻枫叶最近收集整理的关于tableExport.js大文件导出,失败-网络错误tableExport.js大文件导出,失败-网络错误的全部内容,更多相关tableExport内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复