您的位置:首页 > 其它

直接客户端浏览器下载文件,不必通过回传服务器再下载(例如将table内容导出excel)

2018-01-14 22:35 531 查看
//value:文件内容,type:文件类型,name:文件名

//(例如将table内容导出excel,可以生成xml格式的xls内容,然后直接调用这函数下载到客户端电脑)

function _saveFile(value,
type, name) {

var blob;

if (typeof
window.Blob ==
"function") {
blob = new
Blob([value], {type:
type});
} else {
var BlobBuilder =
window.BlobBuilder ||
window.MozBlobBuilder ||
window.WebKitBlobBuilder ||
window.MSBlobBuilder;

var bb =
new BlobBuilder();

bb.append(value);

blob = bb.getBlob(type);

}
var URL =
window.URL ||
window.webkitURL;

var bloburl =
URL.createObjectURL(blob);

var anchor =
document.createElement("a");

if ('download'
in anchor) {

anchor.style.visibility =
"hidden";
anchor.href =
bloburl;
anchor.download =
name;
document.body.appendChild(anchor);

var evt =
document.createEvent("MouseEvents");

evt.initEvent("click",
true, true);

anchor.dispatchEvent(evt);

document.body.removeChild(anchor);

} else if (navigator.msSaveBlob) {

navigator.msSaveBlob(blob,
name);
} else {
location.href =
bloburl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐