我是靠谱客的博主 细腻枫叶,最近开发中收集的这篇文章主要介绍tableExport.js大文件导出,失败-网络错误tableExport.js大文件导出,失败-网络错误,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
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.js大文件导出,失败-网络错误tableExport.js大文件导出,失败-网络错误所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复