Lia*_*nat 15 javascript csv google-chrome angularjs
我正在使用以下代码将文件另存为csv.
$scope.saveCSVFile = function (result)
{
var a = document.createElement('a');
a.href = 'data:application/csv;charset=utf-8,' + encodeURIComponent(result.data);
a.target = '_blank';
a.download = $scope.getFileNameFromHttpResponse(result);
document.body.appendChild(a);
a.click();
$scope.isReportInProgress = false;
};
Run Code Online (Sandbox Code Playgroud)
该文件正在处理大多数情况但由于某种原因,当文件大于10MB时,我得到"失败 - 网络错误".
它只发生在chrome上.
我试图在网上搜索此问题,但找不到任何相关内容.
你能想到一个想法为什么会发生?或者可能使用不同的保存文件方法,可以在chrome/firefox/IE上使用而不是我的函数?
Lia*_*nat 32
我终于使用了这个,希望它可以帮助下一个遇到这个问题:
var blob = new Blob([result.data], {type: 'text/csv'});
var filename = $scope.getFileNameFromHttpResponse(result);
if(window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveBlob(blob, filename);
}
else{
var elem = window.document.createElement('a');
elem.href = window.URL.createObjectURL(blob);
elem.download = filename;
document.body.appendChild(elem);
elem.click();
document.body.removeChild(elem);
}
Run Code Online (Sandbox Code Playgroud)