我创建了一个js脚本,我可以从字符串变量中下载文件:
window.alert("a");
document.getElementById("export-graphml").innerHTML += "<a id=\"dl\" download=\"graph.graphml\">Download</a>"
window.alert("b");
var vdl = document.getElementById("dl");
window.alert(data.length);
vdl.href = "data:text/plain," + encodeURIComponent(data);
它非常好用,直到我的字符串var(数据)不太大。当我的数据太大时,代码的最后一行会导致Chrome和Firefox崩溃,IE也没有反应。
我没有找到任何可能的限制大小的信息。
如果你有任何想法感谢分享它。
答案 0 :(得分:0)
试试这个(适用于10 ie,以及所有现代浏览器)
var createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL || function(){};
var blob = null;
var content = "byte array or string";
var mimeString = "application/octet-stream";
window.BlobBuilder = window.BlobBuilder ||
window.WebKitBlobBuilder ||
window.MozBlobBuilder ||
window.MSBlobBuilder;
if(window.BlobBuilder){
var bb = new BlobBuilder();
bb.append(content);
blob = bb.getBlob(mimeString);
}else{
blob = new Blob([content], {type : mimeString});
}
var url = createObjectURL(blob);
var a = document.createElement("a");
a.href = url
a.download = "file.txt";
a.innerHTML = "download file";
document.body.appendChild(a);