文件流下载
1 <!-- 下载 --> 2 <el-tooltip :content="$t('SystemSetting.ReportTemplate.Btn.Export')" placement="top"> 3 <el-button size="small" circle type="primary" icon="tpx-icon-export" @click="handleExport(scope.$index, scope.row)"></el-button> 4 </el-tooltip>
1 //下载 2 handleExport(index, row) { 3 var that = this 4 // var UserCode = localStorage.UserCode 5 // var token = localStorage.token 6 var xmlResquest = new XMLHttpRequest() 7 xmlResquest.open('POST', window.g.ApiUrl + 'api/ReportTemplate/Export?templateId=' + row.ReportTemplateID) 8 xmlResquest.responseType = 'blob' 9 xmlResquest.setRequestHeader('Content-type', 'application/json') 10 // xmlResquest.setRequestHeader('Identifier', UserCode) 11 // xmlResquest.setRequestHeader('Authorization', 'Bearer ' + token) 12 13 xmlResquest.onload = function(oEvent) { 14 var content = xmlResquest.response 15 console.log("content2:",content); 16 17 if (content != null) { 18 if (content.type == 'application/json') { 19 /* const reader = new FileReader() //创建一个FileReader实例 20 reader.readAsText(content, 'utf-8') //读取文件,结果用字符串形式表示 21 reader.onload = function() { 22 //读取完成后,**获取reader.result** 23 24 var msg = JSON.parse(reader.result).message 25 that.$message.error(msg.toString()) //弹出错误提示 26 return 27 } */ 28 } else { 29 that.$message.success("导出成功") 30 // var elink = document.createElement('a') 31 /* var name = that.typeList.filter(a => { 32 return a.ReportTemplateID == that.ReportTemplateID 33 }) */ 34 // console.log("name:",name); 35 // console.log("elink:",elink); 36 // elink.download = /* name[0].TemplateName + '_' + */ moment().format('YYYYMMDDHHmmss') + '.zip' 37 // elink.style.display = 'none' 38 var blob = new Blob([content], { type: 'application/x-zip-compressed' })//需要后端提供文件格式(application/vnd.ms-excel)
39 40 // elink.href = URL.createObjectURL(blob) 41 console.log("createObjectURL:",URL.createObjectURL(blob)); 42 window.location.href = URL.createObjectURL(blob) 43 /* document.body.appendChild(elink) 44 elink.click() 45 document.body.removeChild(elink) */ 46 } 47 } else { 48 that.$message.warning(that.$i18n.t('Common.Msg.DownFaliure')) 49 } 50 } 51 xmlResquest.send(JSON.stringify(that.filter)) 52 },