我用下面的函数。不知道为什么它解决了这个问题。我想这是一个浏览器的东西。
download(content, fileName, mimeType) {
var a = document.createElement('a');
mimeType = mimeType || 'application/octet-stream';
if (navigator.msSaveBlob) { // IE10
return navigator.msSaveBlob(new Blob([content], { type: mimeType }), fileName);
} else if ('download' in a) { //html5 A[download]
var csvData = new Blob([content], { type: mimeType });
var csvUrl = URL.createObjectURL(csvData);
//a.href = 'data:' + mimeType + ',' + encodeURIComponent(content);
a.href = csvUrl;
a.setAttribute('download', fileName);
document.body.appendChild(a);
a.click();
console.log(a);
//document.body.removeChild(a);
/*
setTimeout(function() {
a.click();
console.log(a);
document.body.removeChild(a);
}, 66);*/
return true;
} else { //do iframe dataURL download (old ch+FF):
var f = document.createElement('iframe');
document.body.appendChild(f);
f.src = 'data:' + mimeType + ',' + encodeURIComponent(content);
setTimeout(function() {
document.body.removeChild(f);
}, 333);
return true;
}
},
您的数据集有多大?另外,你希望发生什么?究竟发生了什么?有没有控制台错误? – evolutionxbox
没有控制台错误,但我设法解决这个使用Blob。谢谢!!! –
你介意为你的问题创建一个答案,说明你是如何解决这个问题的?为什么它不工作? – evolutionxbox