文件流下载


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     },

 

posted on 2021-11-29 09:47  奔驰的码儿  阅读(35)  评论(0)    收藏  举报

导航