小知识,大挑战!本文正在参与“ 程序员必备小知识 ”创作活动
文件下载有很多方式,有常用的或者不常用的,以下列出了一些文件的下载方式可以作为参考.
1.window.open("url");
2.window.location.href="url";
3.添加 download 属性 和 href 链接
elementA.setAttribute('href', 'data:text/plain;charset=utf-8,' + JSON.stringify(json1));
elementA.setAttribute('download', +new Date() + ".tpl");
完整的代码如下:
function downFile() {
var elementA = document.createElement('a');
elementA.setAttribute('href', 'data:text/plain;charset=utf-8,' + JSON.stringify(json1));
elementA.setAttribute('download', +new Date() + ".tpl");
elementA.style.display = 'none';
document.body.appendChild(elementA);
elementA.click();
document.body.removeChild(elementA);
4.生成一个blob二进制文件,href指向blob地址 和设置 download
//文件的名称为时间戳加文件名后缀
elementA.download = +new Date() + ".tpl";
//生成一个blob二进制数据,内容为json数据
var blob = new Blob([JSON.stringify(jsonObj)]);
//生成一个指向blob的URL地址,并赋值给a标签的href属性
elementA.href = URL.createObjectURL(blob);
完整的代码如下:
function downFlie() {
// 创建a标签
var elementA = document.createElement('a');
//文件的名称为时间戳加文件名后缀
elementA.download = +new Date() + ".tpl";
elementA.style.display = 'none';
//生成一个blob二进制数据,内容为json数据
var blob = new Blob([JSON.stringify(jsonObj)]);
//生成一个指向blob的URL地址,并赋值给a标签的href属性
elementA.href = URL.createObjectURL(blob);
document.body.appendChild(elementA);
elementA.click();
document.body.removeChild(elementA);
}
5.通过创建iframe的方式
//导出
//method方法:
handleExport(row) {
var elemIF = document.createElement('iframe')
elemIF.src = 'user/downloadExcel?snapshotTime=' + formatDate(new Date(row.snapshotTime), 'yyyy-MM-dd hh:mm') +
'&category=' + row.category
elemIF.style.display = 'none'
document.body.appendChild(elemIF)
}