直接客户端浏览器下载文件,不必通过回传服务器再下载(例如将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;
}
}
//(例如将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;
}
}
相关文章推荐
- 直接在客户端通过js导出excel的方法(不限浏览器,不必安装excel)
- 直接在客户端通过js导出excel的方法(不限浏览器,不必安装excel)
- asp.net mvc导出excel文件先保存到服务器某个目录,然后再导出到客户端供客户下载功能的实现
- 下载(二)客户端通过C# 代码直接从服务器下载文件到本地
- 【POI】导出excel文件,不生成中间文件,直接将内存中的数据创建对象下载到浏览器
- 下载(二)客户端通过C# 代码直接从服务器下载文件到本地
- 直接通过response把文件内容下载到客户端
- 客户端通过C# 代码直接从服务器下载文件到本地
- 记录一下:上传到服务器上的pdf 文件直接下载而非在浏览器里打开
- 数据导出到excel文件给客户端下载的几种方法
- php excel下载模板方法2,放excel文件在服务器上,直接拉取
- 直接让客户端浏览器下载已知类型的文件
- 转:datagrid数据导出到excel文件给客户端下载的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法(转)
- java导出Excel文件,直接可以下载,然后更新状态,刷新页面
- datagrid数据导出到excel文件给客户端下载的几种方法 (转载)
- 直接让客户端浏览器下载已知类型的文件
- 浏览器下载服务器上的文件(EXCEL)
- java实时向zip中写excel文件并通过浏览器实现下载