导出下载附件功能

1、window.open

下面展示一些 内联代码片

doExport(){//导出
	let url = '';
	if(process.env.NODE_ENV == 'development'){
		url= 'http://localhost:8080/shhjc-server/';
	} else {
		url=getRootPath()+'/';
	};
	window.open(url+'shhjc/framework/topic/doExp2', '_self');
},

2、jquery

下面展示一些 内联代码片

if(process.env.NODE_ENV == 'development') {
				topUlr = 'http://172.26.4.171:8080/iima-server/';
			} else {
				topUlr = getRootPath()+'/';
			}
			let url = topUlr + 'framework/exportFile/exportExcel';
			var titleList = this.titleList,
				tableData = this.tableData;
			var tableName = "报表详情";
			var tableTitle = [];
			var tableTitleCode = [];
			for(let i = 0; i < titleList.length; i++){
				if(titleList[i].children){
					for(let j = 0; j < titleList[i].children.length; j++){
						tableTitle.push(titleList[i].children[j].name);
						tableTitleCode.push(titleList[i].children[j].code);
					}
				}else{
					tableTitle.push(titleList[i].name);
					tableTitleCode.push(titleList[i].code);
				}
			}
			//调用导出的公用方法
			var jsonArr = [];//最终导出的列表数据
			for(var i = 0;i<tableData.length;i++){
				var jsonDom = {};
				for(var j = 0;j<tableTitleCode.length;j++){
					if(tableData[i][tableTitleCode[j]] != "" && tableData[i][tableTitleCode[j]] != null){
						jsonDom[tableTitle[j]] = tableData[i][tableTitleCode[j]];
					}else if(tableData[i][tableTitleCode[j]] == 0){
						jsonDom[tableTitle[j]] = tableData[i][tableTitleCode[j]];
					}else{
						jsonDom[tableTitle[j]] = "";
					}
				}
				jsonArr.push(jsonDom);
			}
			var formStr =
			'<form action="' + url + '" name="exporExcelForm" enctype="multipart/form-data" method="post" id="exporExcelForm"> ' +
			'    <input type="hidden" name="tableName" id="tableName"/> ' +
			'    <input type="hidden" name="tableTitle" id="tableTitle"/> ' +
			'    <input type="hidden" name="tableData" id="tableData"/> ' +
			'    <input type="hidden" name="tab" id="exceltab"/> ' +
			'</form>';
			var _form = $(formStr);
			_form.find("#tableName").val(tableName);
			_form.find("#tableTitle").val(JSON.stringify(tableTitle));
			_form.find("#tableData").val(JSON.stringify(jsonArr));

			$('body').append(_form);
			_form.submit();
			_form.remove();

3、动态添加form表单

下面展示一些 内联代码片

export function downloadUrl(url){
    let topUlr = '';
    if(process.env.NODE_ENV == 'development') topUlr = process.env.VUE_APP_IMG_HOST;
    else topUlr = getRootPath()+'/';
    const downloadElement = document.createElement('a');
    downloadElement.href = topUlr+url;
    document.body.appendChild(downloadElement);
    downloadElement.click();
    document.body.removeChild(downloadElement); // 下载完成移除元素
};

4、下载附件

下面展示一些 内联代码片

this.$http.post(this.$urls.task.files("download"),
            { id :file.id},null,{responseType:'blob'}).then(xhr=>{
      // new Blob([data])用来创建URL的file对象或者blob对象
      let url = window.URL.createObjectURL(new Blob([xhr.data]));
      // 生成一个a标签
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url;
      // 生成时间戳
      link.download = file.fileName
      document.body.appendChild(link);
      link.click();
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值